Skip to main content

Full text of "Syntax Magazine"

See other formats


SYNTAX 


Serving 

The  Timex-Sinclair  Family 
Of  Personal  Computers 


A  PUBLICATION  OF  THE  HARVARD  GROUP 


VOL.  3  NO.  8 


ISSN  0273-2696 


AUG.,  1982 


IN  THIS  ISSUE 


4K  Programs 

Dice  Roll . 21 

8K  Programs 

Blast  Effects . 5 

Cardioid  Plot . 21 

Count . 17 

Diagonal  Lines . 17 

Entrapment . 10 

MC  Screen  Fill . 6 

Sine  Name . 3 

Shifting  Maze . 18 

Spaces  in  REM . 8 

String  Functions . 18 


Syntactic  Sum  Loader. 20 
Book  Review 

Getting  Acquainted  with 
Your  ZX81f  3rd  Ed. ..11 
The  Expandable  ZX80 


and  ZX81 . 15 

Classified  Ads . 22 

Dear  Editor . 12 

Hardware  Projects 
Preregulator  and 

Battery  Backup . 4 

Hardware  Review 


Memotech  64K  Memopak.16 
Machine  Code  Programming 
CP  Branching  Tests...  8 
Understanding  the 

Stack . 19 

News,  New  Products. .1,2, 3 
Printing  Strings  Faster. 5 
Printing  Bottom  Line. ..15 
Program  Improvements .. .14 
Shows  and  Exhibitions ...  3 


Users'  Groups . 3 

Index  of  Advertisers 

Byte-Back . 14 

Memotech  Corp . 9 

Sof  tsync . 11 

Software  Masters . 6 

Syntax . 3 

Zeta  Software . 7,17 


SYNTAX  ZX80  UPDATES  NAME 

SYNTAX  ZX80  now  answers  officially  to 
its  abbreviated  name,  SYNTAX.  The  words 
replacing  "ZX80"  on  the  banner  reflect  the 
change  in  North  America  to  the  TS1000  compu¬ 
ters.  They  also  emphasize  our  exclusive 
coverage  of  all  Timex-Sinclair  computers.  As 
Timex  introduces  new  computers,  you'll  find 
them  covered  in  SYNTAX. 

VIDEO  UPGRADE  KITS  FOR  ZX80  IN  US  AGAIN 

Once  again  ZX80  and  MicroAce  owners  can 
enjoy  the  flicker-free  qualities  of  ZX81/ 
TSIOOOs.  Kits,  available  in  mid-August, 
install  inside  computer  case.  Full  kits 
$32.50  plus  $2.50  first  class  postage.  Plans 
$2.00  plus  $.50  postage.  Printed  circuit 
board  with  instructions  $19.95  plus  $1.25 
postage.  Orders  are  now  being  accepted  by 
Computer  Engineering  Services,  PO  Box  1222, 
Show  Low,  AZ  85901,  602/537-7522.  Specify 
ZX80  or  MicroAce  when  ordering. 

SYNTAX  QUARTERLY  DEBUTS  NOV. 82 

SQ,  The  Syntax  Quarterly,  will  be  avail¬ 
able  by  subscription  and  on  newsstands  Nov. 

1,  1982.  (Ask  your  local  computer  store.) 

The  first  issue  will  run  about  64  pages 
devoted  to  ZX  and  Timex-Sinclair  computers. 

Because  of  its  quarterly  publication,  SQ 
will  not  cover  news.  Instead,  it  will  pro¬ 
vide  longer  programs,  more  extensive  hardware 
projects,  and  more  in-depth  tutorials  than 
the  SYNTAX  newsletter. 

All  SYNTAX  subscribers  will  receive  the 
premiere  issue  of  SQ  free.  Combined  SYNTAX- 
SQ  subscriptions  will  cost  $39  per  year  (12 
issues  of  SYNTAX,  4  issues  of  SQ).  SQ  will 
be  available  separately  for  $15  per  year. 

Address  SQ  program,  project,  or  article 
submissions  to  Syntax  Quarterly,  RD  2  Box 
457,  Harvard,  MA  01451. 


1 


SYNTAX  ERRORS:  In  the  Apr. 82  logic 
probe  construction  project,  the  LED 
resistors  should  be  330  Ohms. 

Numbers  Held  Inexactly  in  the 
ZX81  (Jun.82)  contains  two  errors. 
On  p.19,  second  paragraph,  line  3, 
the  last  number  should  be  205,  not 
204.  On  p.20,  this  line  is  missing 
after  line  11:  .1  gives  125  76  204 

204  205. 

General  Technology's  phone  no. 
(Jul.82  p.22)  is  401/273-2420. 

NEWS,  NEW  PRODUCTS  AND  SERVICES 

Help  your  first-sixth  graders  learn 
at  home.  International  Learning 
Materials  is  producing  child-tested 
math,  reading  and  grammar  software 
packages  for  ZX81s.  Two  math  pack¬ 
ages,  about  $29.95  each,  will  be 
available  Sept.  1.  Each  contains  2 
tapes  (16  lessons  each)  and  a  work¬ 
book.  Available  from  Gladstone 
Electronics,  1736  Avenue  Rd.,  Tor¬ 
onto,  Ontario,  Canada  M5M  3Y7  and 
Reston  Publishing,  599  Adamsdale 
Rd.,  N.  Attleboro,  MA  02760.  For 
more  info,  write  Joseph  Gladstone, 
International  Learning  Materials, 

95  Perivale  Cres.,  Scarborough, 
Ontario,  Canada  M1J  2C4. 

In  the  offing:  16K  EPROM  and  full- 
sized  keyboard  from  Memotech  Corp., 
early  this  fall.  EPROM  (erasable 
programmable  read-only  memory)  lets 
users  with  PROM-blowing  capability 
store  programs  directly  in  a  read¬ 
only  memory.  EPROM  will  run  about 
$70  blank,  according  to  Said  Fateh 
of  Memotech.  Big  keyboard  will 
connect  to  computer's  rear .  so  you 
need  no  wiring  inside  the  computer. 
Price:  under  $80.  Memotech  Corp., 

7550  West  Yale  Ave.,  Suite  200, 
Denver,  CO  80227,  303/986-1516. 

Instant  Software  needs  programmers 
to  convert  TRS-80  software  to 
TS1000  BASIC.  If  you're  inter¬ 
ested,  send  your  name,  address,  and 
a  description  of  your  equipment  to 
Kevin  Burton,  Instant  Software,  80 
Pine  St.,  Peterborough,  NH  03458. 


Sinclair's  own  software  written  by 
Psion  and  ICL  is  available  in  the 
US.  Packages  include  business 
($14.95-$17.95)  ,  education  ($12.95 
each)  and  games  ( $8.95-$13.95) . 

Most  programs  require  16K  RAM. 
Sinclair  Research,  3  Sinclair 
Plaza,  Nashua,  NH  03061. 

Get  organized  with  a  Consol-Kit 
assembly  from  Hopper  &  Company. 
Designed  to  fit  Radio  Shack's  Mini- 
sette  9  tape  deck  and  RCA's  Play¬ 
mate  9"  TV,  Consol-Kit  assembles 
into  a  complete  computing  center 
with  space  for  your  ZX  computer, 

RAM  pack  and  tapes.  Full  size 
plans,  $5;  pre-cut  kit  $39.95  (7- 
ply  birch  plywood).  For  more  info, 
send  $1  to  Hopper  &  Company,  Inc., 
Box  689  Blue  Hills  Rd.,  Durham,  CT 
06422  or  call  203/349-8424. 

Gladstone's  full-size  portable 
typewriter  keyboards  plug  into  ZX81 
PC  board.  You  get  standard  Sin¬ 
clair  legends  on  removable  keytops, 
a  full-size  space  bar  and  seven 
extra  keys,  plus  an  edge  card  con¬ 
nector  for  adding  extra  memory. 
Price:  $109.95  Canadian,  $85.00 

US.  Enclose  it  all  in  a  black 
anodized  metal  case,  $29.95  Cana¬ 
dian,  $25  US.  Gladstone  Elec¬ 
tronics,  1736  Avenue  Rd.,  Toronto, 
Ontario  M5M  3Y7,  416/787-1448. 

MX-Pac  is  designed  to  help  you  grow 
from  program  user  to  program 
writer.  According  to  Bill  Hoffman, 
MX-Pac  consists  of  18  programs  for 
8K/1K  on  cassette  with  complete 
listings  and  explanations.'  Pro¬ 
grams  range  from  simple  to  sophis¬ 
ticated  and  include  Printout  I,  a 
multi-level  support  and  self¬ 
teaching  guide.  Price:  $24.95. 

Bill  Hoffman,  Robill  Products,  555 
Park  Ave.,  Paterson,  NJ  07504. 

Dave  Hallas  tells  us  Programming 
for  Real  Applications  by  Randle 
Hurley,  reviewed  Jun.82,  is  $9.95 
from  Dilithium  Press,  PO  Box  606, 
Beaverton,  OR  97075,  800/547-1842. 


i 

I 


2 


Data-assette  introduces  a  whole 
line  of  ZX  hardware  and  software. 

In  addition  to  their  ZX99  tape 
controller  and  serial  printer 
interface,  they  offer:  16K,  32K 
and  64K  RAM  packs  (send  your  16K 
and  get  $15  off  64K);  mini-  and 
full-size  keyboards  (full  size  with 
repeat  key);  business,  home  and 
game  software  (including  a  word 
processor);  computer  cassettes, 
storage  racks,  labels  and  repair 
kits.  Data-assette,  52  S.  3rd  St., 
Oxford,  PA  19363,  215/932-3626. 

ADDENDUM  TO  CAI  PRINTER  REVIEW 
(Jul.82):  To  use  the  CAI/O  board 

and  Memotech's  64K  RAM,  first  plug 
the  RAM  into  the  computer.  Then 
plug  the  CAI/O  board  into  the  RAM. 
Also  note  that  if  you  use  software 
with  imbedded  keyboard  printer  com¬ 
mands,  you  will  have  to  change  each 
command  to  the  correct  USR  call. 

USERS'  GROUPS 

To  list  your  group,  call 
617/456-3661  or  write  SYNTAX,  RD  2 
Box  457,  Harvard,  MA  01451.  To 
find  a  group  in  your  area,  call  or 
send  us  an  SASE  and  we'll  send  you 
what  information  we  have. — AZ 

Seabrook/Lanham,  MD:  Lanham 
Sinclair  User's  Group,  Cora  C. 
Dickson,  9528  Elvis  Ln.,  Lanham,  MD 
20706,  301/577-6645. 

Manitoba,  Canada:  Sinclair  Users' 
Group,  Box  777,  Swan  River, 
Manitoba,  ROL  1Z0 

UPCOMING  SHOWS  AND  EXHIBITIONS 

The  US  Festival:  Music  festival 
and  technology  exhibit  including 
professional  and  amateur  hardware 
and  software  producers.  Sept  3-5, 
1982,  Glen  Helen  Regional  Park,  San 
Bernardino  County,  CA 

The  Twin  Cities  Computer  Show: 

Sept  16-19,  1982,  Minneapolis  Audi¬ 
torium  and  Convention  Hall. 


Available  from  SYNTAX . . . 


For  computing  beginners  — 

Crash  Course  in  Microcomputers . $17.50 

Covers  hardware,  machine  language  and 
applications.  Reviewed  in  SYNTAX,  Oct.  1981. 
Add  $1.50  shipping. 

For  advanced  hardware/software  users  — 


Zilog’s  Z80-Z80A  CPU 

Technical  Manual . $7.50 

Zilog’s  Assembly  Language 

Programming  Manual . $15.00 

Add  5%  for  shipping. 

Experiments  in  Artificial  Intelligence 

For  Small  Computers . $8.95 

Giving  your  computer  reasoning  and 
learning  capabilities.  Programs 
translatable  to  Sinclair  BASIC. 


SYNTAX  back  issues  available,  $4  each. 

Call  or  write  for  our  group  subscription  discounts. 

SYNTAX  •  RD  2  Box  457  •  Harvard,  MA  01451 
617  /  456-3661 


Gladstone  Electronics'  new  US 
address,  effective  1  Aug  82:  1585 

Kenmore  Ave.,  Buffalo,  NY  14217. 

SINE  NAME — 8K/1K 

Print  any  string  in  the  form 
of  a  vertical  sine  wave.  Type  in 
this  program,  RUN  it,  then  enter  a 
string  of  up  to  12  characters. 

Along  with  letters,  you  can  enter 
graphics  characters  for  neat 
effects  (for  example,  alternating 
spaces  and  solid  black  squares  for 
an  op-art  design). 

To  run  on  an  8K  ZX80,  add: 

37  PAUSE  30 

Change  SIN  in  line  20  to  COS 
for  a  cosine  version. 

Mark  Freitas,  Chelsea,  Ml 
5  INPUT 

1@  FOR  fi-0  TO  6.3  STEP  .2 
20  LET  Y=SXN  R 
30  PRINT  RT  ai, 

35  SCROLL 
40  NEXT  R 
50  GOTO  1© 

SYNTRCTIC  SUM:  7555,  ©K 


3 


TWO  PROBLEM-SOLVING  CIRCUITS — PREREGULATOR  AND  BATTERY  BACKUP 


Ed  Buttenhoff's  pre-regulator 
circuit  uses  an  LM340-8  regulator 
(May82).  While  it  works  fine,  that 
regulator  is  not  as  commonly  avail¬ 
able  as  LM340-5.  Fig.  1  following 
is  a  circuit  that  performs  the  same 
function  as  Ed's  Fig.  1  and  uses  a 
garden-variety  LM340-5  or  78L05  and 
two  resistors  to  provide  the  8-volt 
pre-regulation.  You  may  replace 
the  100  Ohm  resistor  with  a  100  Ohm 
trimpot  in  series  with  a  22  Ohm 
resistor  to  make  the  output  adjust¬ 
able;  we  recommend  that  you  set  the 
regulator  output  at  7.5  volts, 
which  is  plenty  for  operation  while 
allowing  the  lowest  possible  line 
voltage  (about  110  volts). 


From 
Sinclair 
Power  — 
Supply  — 


-O 


LM340T-5 


22uF 


24011 


ioon 


- O  + 

Output 
to 
ZX8 1 

luF 


-O  — 


Figure  1 —  8V  Preregulator 

Resistors  are  1/4  W,  5%  film 

Fig.  2  shows  a  circuit  to 
provide  battery  backup  for  about 
one  hour.  Seven  Nickel-Cadmium  AA 
cells  in  series  form  the  battery. 

It  is  recharged  directly  from  the 
Sinclair  power  supply  through  R1  as 
long  as  power  is  present.  Diodes 
D1  and  D2  form  a  clamp  which  shuts 
the  battery  off  when  input  voltage 
from  the  power  supply  is  present 
but  instantly  connects  the  battery 
during  a  power  interruption. 

An  optional  SPST  switch  allows 
you  to  reset  the  computer  without 
pulling  the  plug.  We  also  suggest 
additional  filter  capacitor  (Cl) — 


1000  uF  or  more.  Also  optional  are 
transistor  Ql,  resistors  R2  and  R3, 
and  LED1  which  indicate  that  AC 
power  is  present  when  the  LED  is 
on.  (This  scheme  is  used  instead 
of  an  LED  and  resistor  across  the 
input  line  as  the  battery  would 
discharge  through  R1  and  the  LED 
with  AC  off  and  there  is  not  enough 
output  voltage  from  the  Sinclair 
power  supply  to  allow  another  diode 
drop  and  still  charge  the  battery 
adequately.)  Ql  is  a  PNP  silicon 
transistor — 2N4443,  2N3906,  or  sim¬ 
ilar.  R2  and  R3  are  1/4  W,  R1  is 
1/2  W.  There  is  even  enough  room 
to  install  the  entire  circuit  in¬ 
side  the  ZX81  case  if  you're  adven¬ 
turous.  This  circuit  is  the  same 
as  that  used  in  the  SYNCWARE  BBU-1 
battery  backup  unit. 

Note  that  the  circuit  in  Fig. 

2  cannot  successfully  be  followed 
by  the  preregulator  of  Fig.  1 
because  the  output  voltage  (taking 
diode  drop  into  account)  is  in  the 
vicinity  of  8  volts — just  enough  to 
operate  the  ZX81  directly. 

Our  BBU-2  battery  system  uses 
10  NiCd  cells  of  higher  capacity 
for  longer  running  time,  followed 
by  a  preregulator  for  cool  running 
and  improved  glitch-rejection. 

This  scheme  requires  a  new  power 
supply  of  about  16  volts;  Sin¬ 
clair's  doesn't  put  out  enough 
voltage  to  recharge  the  12-volt 
battery.  Not  only  does  this  type 
of  system  allow  portable  operation 
and  protect  against  power-down,  it 
also  makes  the  ZX81  practically 
immune  to  line  glitches  and  noise. 

Fred  Nachbaur,  Syncware  Co., 

El  Monte,  CA 

At  SYNTAX  we  built  the  battery 
backup  unit  to  test.  Operation  is 
just  as  described.  Our  unit  fits 
in  a  small  box  (Radio  Shack  270- 
233)  which  holds  two,  4-cell 
plastic  battery  holders  (RS  270- 
391).  We  rewired  one  holder  to  use 


4 


only  3  cells.  You  can  use  RS  23- 
125  cells  for  the  NiCd  battery,  but 
they  only  provide  450  mAh  and  cost 
more  than  $2  per  cell. 

If  you'd  rather  not  build  your 
own,  you  can  buy  these  battery 
packs  from  Syncware  Co.,  4825 
Elrovia  Ave.,  El  Monte,  CA  91732 
for  $39.50-$84.50.  The  schematic 
shown  is  their  commercial  unit. 
Patrick  Spera  called  the  BBU-2 
"professional  in  appearance,  per¬ 
formance  and  craftsmanship"  in  the 
Sinclair  Computers  User's  Group  of 
OK  newsletter. — KO 

o  <- 


U  ft  3 
G  CO 

■H 

cn 

WARNING:  Do  not  leave  battery  pack 

plugged  into  wall  unless  computer 
is  connected.  Batteries  will 
overheat . 

PRINTING  STRINGS  FASTER 

While  drawing  some  bar  graphs 
in  the  SLOW  mode,  the  PRINT  routine 
was  so  slow  I  could  actually  see 
each  character  appear.  I  tried 
using  the  excellent  string-handling 
capability  of  the  8K  ROM.  The 


difference  was  dramatic.  Try  both 
of  these  in  SLOW: 

The  slow  way — 

100  FOR  1=1  TO  N 

110  PRINT  "X"; 

120  NEXT  I 
The  fast  way — 

100  LET  L$="XXXXX...X"  (at  least  N 
Xs) 

110  PRINT  L$(  TO  N) 

Martin  H.  Irons,  K2MI,  Goshen  NY 

Choose  a  fairly  large  number  to 
substitute  for  N.  If  you  have 
enough  memory,  this  method  certain¬ 
ly  speeds  string  printing.  The 
routine  following  demonstrates  how 
fast  it  can  be. — AZ 


BLAST  EFFECTS  ON  ZX81 

This  simple  subroutine  simu¬ 
lates  laser,  cannon  shots,  and 
other  effects  used  in  arcade-type 
games.  You  can  easily  modify  it 
for  your  particular  needs.  Try 
substituting  different  characters 
in  the  strings  or  varying  the  num¬ 
ber  of  strings  used.  Line  210 
sequentially  overprints  A$  through 
F$  in  a  rapid  and  dramatically 
effective  manner.  With  a  little 
imagination,  you  can  produce  a 
variety  of  startling  "blasts". 

Dan  Tandberg,  Albuquerque,  NM 


1  REM  "BLR3T- 
19  SLOU 


30  LET 
XXXXXXXX 
4.0  LET 
#******«• 
5©  LET 


60  LET 


XXXXXXXXXXXXXXXXXXX 
*■£•**£■*■**■*  ********** 


60  LET  R  =  1© 

SB  LET  C=S  _ 

10©  PRINT  AT  R,C-5r^W„ 

-7  3  f*  PRINT  RT  R  +  3L  .x  C  HI  m 

a©!  IF  INKEY $=”" 'THEN  GOTO  300 

SIS  PRINT  RT  R  •' 

T  R  .  C  :  C  $  I  RT  RjUJ  hT  R  .» P  .•  E  #  -*  F!  • 
R,c;  Fiji  ‘ 

asa  goto  as©  . _ 

jr  Y  NT  P  CT  I C  SUM:  £24.4.  t  ,  SN 


5 


5..4..3..2..ZX81 


Lift  off  your  ZX81  with  these 
important  books! 


Machine  Language  made  simple  - 

an  introduction  to  Assembly  Language  programming  for  the 
Sinclair  ZX81 . 

Understanding  Your  ZX81  - 

understanding  the  monitor  and  help  yourself  to  good  machine 
language  programs. 

Sinclair  ZX81  ROM  Disassembly  Part  A  0000H  -0F54H  - 

An  examination  and  notes  on  covering  all  except  expression 
evaluation. 

Sinclair  ZX81  ROM  Disassembly  Part  B  0F55H-1DFFH  - 

An  examination  of  all  routines  concerned  with  an  evaluation  of 
expressions,  and  including  an  analysis  of  floating  point 
representation. 

Explorers  Guide  to  the  ZX81  - 

Goes  on  where  the  manual  leaves  off  -  a  wealth  of  detailed 
information  on  how  to  get  the  best  out  of  your  ZX81  but  definitely  not 
for  the  beginner. 

Use  the  Coupon  below  and  we’ll  rush  your  order  by  return. 


QTY.  (tick  box) 

MACHINE  LANGUAGE  MADE  SIMPLE  □  $19.95 

UNDERSTANDING  YOUR  ZX81  ROM  □  $19.95 

EXPLORERS  GUIDE  TO  THE  ZX81  □  $19.95 


ZX81  ROM  DISASSEMBLY  PART  A  □  $14.95 

ZX81  ROM  DISASSEMBLY  PART  B  □  $14.95 

|  NAME _ □  SEND  ME  YOUR  FREE  CATALOG 

| ADDRESS  _ 

|  CITY _ STATE _ ZIP _ 


ADD  □  $1 .50/book  UPS  or  □  75c  book  4th  class  mail  or 
j  □  $8/book  overseas  airmail  ( ILL  add  tax) 

I  Total  Amt,  Enclosed _ 

I  OR  CHARGE  MY  □  VISA  □  MC  □  AM  EX. 

I  CARD  NO. _ EXP.  DATE _ 

|  SIGNATURE _ 

Software  Masters,  P.0.  Box  1155,  Evanston,  Illinois  602  04 


MACHINE  CODE  SCREEN  FILL 

This  simple  16-byte  machine 
code  program  fills  the  screen  with 
any  character.  It  executes  faster 
and  takes  up  less  space  than  the 
BASIC  program  by  Paul  Qualls,  Jr., 
in  Jun.82  (p.20). 

The  MC  routine  is  contained  in 
this  REM  statement: 

l  rem  ySA  .  ®not  $trb  Drnd|  tbb 

\RNDTfiN 

There  are  16  keystrokes  after  REM. 
For  easy  typing,  follow  this  guide. 
Finished  result  should  look  like 
the  line  above: 

1  REM  Y  inverseSPACE  graphicT 
graphic4  :  inverseK  tokenNOT  $ 
tokenTAB  inverseH  tokenRND  graphic5 
tokenTAB  graphicY  tokenRND  tokenTAN 
Don't  type  any  spaces.  Spaces  in 
line  1  come  from  keywords  (tokens). 

Execute  line  1  by  entering 
RAND  USR  16514  in  the  FAST  mode. 
Almost  instantly,  the  entire  screen 
blackens.  The  second  keystroke 
after  REM  is  the  fill  character, 
here  inverse  space.  To  change  this 
character,  substitute  another  for 
the  inverse  space,  or  POKE  the  new 
character's  code  to  address  16515 
in  the  immediate  mode  (with  no  line 
number).  Be  sure  this  REM  line  is 
the  first  line  in  your  program. 

The  assembly  listing  for  this 
routine  (128  in  location  16515  is 
inverse  space)  follows  next  page. 

If  you'd  rather  POKE  the  decimal 
values  in,  use  a  loader  program: 

1  REM  (16  spaces) 

2  FOR  X=16514  TO  16529 

3  INPUT  I 

4  POKE  X,I 

5  NEXT  X 

RUN,  then  input  the  numbers  in  the 
assembly  listing  dec.  column,  hit¬ 
ting  ENTER  or  NEWLINE  after  each. 
After  the  last  number  press  LIST 
then  ENTER  or  NEWLINE  to  see  the 
listing  again.  Line  1  now  looks 
like  Dr.  Miller's  line  1.  Delete 
lines  2-5.  Or  use  David  Ornstein's 
XFER  hex  loading  program  (Jun.82) 
to  load  the  hex  numbers. — AZ 


6 


Loc. 

Dec. 

Hex 

Opcode 

Comment 

16514 

62 

3E 

LD  A,N 

;load  code  of  fill  character 

16515 

128 

80 

16516 

6 

06 

LD  B,04 

;set  LOOP1  counter  for  4 

iterations 

16517 

4 

04 

16518 

14 

0E 

LOOP1 :  LD  C,B0 

;set  LOOP2  counter  for  176 

iterations 

16519 

176 

B0 

16520 

215 

D7 

LOOP 2 :  rst  10 

;character  printing  routine 

16521 

13 

0D 

DEC  C 

; reduce  LOOP2  counter  by  1 

16522 

194 

C2 

JPNZ ,LOOP2 ; if  C=0,  go  to  LOOP2 

16523 

136 

88 

16524 

64 

40 

16525 

5 

05 

DEC  B 

; reduce  LOOP1  counter  by  1 

16526 

194 

C2 

JPNZ ,LOOPl ; if  B=0,  go  to  LOOP1 

16527 

134 

86 

16528 

64 

40 

16529 

201 

C9 

ret 

;B=0,  return  to  BASIC 

Using  a  loop  within  another  loop,  this  ML  program  executes  the 
character  printing  routine  exactly  704  times  (4*176=704),  which  fills 
the  screen.  By  POKEing  smaller  values  into  registers  B  and  C,  you  can 
fill  as  much  of  the  screen  as  you  wish. 

Harold  Miller,  Clarkesville ,  GA 


ZX81  OWNERS  with  16K  RAM! 
IT'S  READY— ARE  YOU? 


,o£L H2i*r> 


$14.95  + 
2.50  S&H 


If  so.  .you  get: 

*24-row/full-screen  displays 
*Nearly  2K  of  machine  code 
for  FAST  real-time  graphics 
*A  4K  Star  Atlas  as  the  moving 
backdrop  during  enemy  engagements 

*9-each  fuel  and  skill  levels  that 
are  interlocked  for  more  "reality" 

*4  ways  to  lose — no  fuel,  no  oxygen, 
no  gun  power,  or  no  shields.  1  way 
to  win — destroy  ALL  enemy  craft. 

*An  enemy  data  generator  imbedded  in 
the  run  as  part  of  the  "action" 
*"Blink"-less  pauses  in  BASIC 
*Sti ck-on/peel-off  custom  keys 
*In-depth  booklet  explaining  both 
the  "game"  and  the  program 
*Shipped  on  a  certified  cassette 
1  copy  each  side 


16K  Programs  for  either  ZX80-8K  or  ZX81 

*PLANE  FRAME-model 1 ing  for  engineers 
*FUNDAMENTAL  ANALYSIS-for  stocks  investors 
*P0LSAT  &  GEOSAT-space  age  Ham  Radio  uses 
*MATH  PAK-Routines  &  Fit,  Variance  Analyzer, 
Statistics,  and  RPN  Calculator 
__TA  *E.S.P.-test  your  precognition 

ZrTM  *Many  others  plus  6  IK  6-paks 

SOFTWARE^Jr  including  Machine  Code 

WRITE  for  free  catalog.  (In 
Europe,  send  U$1  bill  or  DM2  stamp: 
DELTASOFT/Osterfeldstr. 79D/D-2000  Hamburg  54  GER) 


CO 

o 

kO 

cr> 

C\J 

o 

oo 

C\J  • 
C\J  CD 
LO  i — 
OO  «— 

•r— 

X  > 

o  c 

CO  CD 
CD 
O 

D_  CD 


rplail  coupon  or  copy  with  payment  to: 

|  ZETA  Software/PO  Box  3522/Greenvi lie, SC  29608 


DCheck  □. 


I  Enclosed  is  $ _ 

|  for _ copy(ies)  of  SCOUT  FIGHTER  ZX81  16K 

plus  $2,50  S&H  for  the  order. 


NAME 


ADDRESS 


I 


CITY /STATE/ZIP _ 

I  Please  allow  4  weeks  if  paid  by  check. 


MACHINE  CODE — CP  BRANCHING  TESTS 


SPACES  IN  REM  STATEMENTS 


CPs  are  1-3  byte  codes  that 
compare  two  numbers.  More  exactly, 
they  subtract  the  number  you  are 
looking  for  from  what  has  been 
loaded  into  the  Accumulator.  The 
general  method  of  using  CPs  is  to 
set  up  a  loop  that  will  "peek"  into 
a  block  of  addresses  serially,  or 
one  after  another. 

For  instance,  suppose  you  have 
a  block  of  data  in  REM  addresses 
and  you  want  to  return  to  BASIC  at 
the  last  piece  of  data: 

1.  Choose  a  number  that  is  not 
valid  data,  say  23,  and  store  it  in 
the  last  data  address  in  the  block. 

2.  Initialize  a  register  pair  as  a 
"data  pointer"  with  an  INCrement 
instruction.  Load  A  with  the  con¬ 
tents  of  the  address  pointed  to. 

(LD  A,  (BC)  for  example,  where  BC 
holds  the  current  data  address  and 
is  stored  on  the  stack.) 

3.  Compare  the  new  data  to  "23" 
(CPn,  where  n=23). 

4.  If  the  data  is.  23,  the  Z  flag 
is  set  for  a  test  so  you  can  branch 
(either  to  BASIC  or  to  reset  the 
pointer).  If  the  data  is  not  23,  A 
still  contains  valid  data  (only  the 
Flags  are  affected) ,  the  branch- 
test  (RET  Z,  JR  Z,  etc.)  fails,  and 
the  data  can  be  processed. 

CPs  are  simple  to  use  if  you 
understand  two  things:  A  must  be 
loaded  with  "unknown"  data  from  an 
address,  and  you  must  follow  the  CP 
with  a  test-and-branch  depending  on 
which  Flag  you  test  (JR  C,  CALL  PO, 
nn,  RET  NZ,  JP  M,nn,  for  example). 

In  addition  to  CPs,  the  Z80 
also  has  a  few  instructions  that 
actively  search  and  test  data  auto¬ 
matically.  With  these,  however, 
you  must  load-initialize  HL  with 
the  data  address  and  load  BC  with 
the  number  of  addresses  to  search 
(iterations  of  the  automatic  loop). 

Next:  TESTING  BITS  FOR  BRANCHING 

Jon  Bobst,  Zeta  Software,  PO  Box 
3522,  Greenville,  SC  29608-3522 


If  you  put  your  machine  code 
in  large  REM  statements,  you  need 
not  laboriously  type  in  spaces  or 
digits.  This  8K/16K  program  pro¬ 
duces  a  REM  statement  containing  up 
to  14991  full  stops.  You  choose 
the  number  you  want  at  line  40. 

Delete  lines  10-130  after 
running.  You  can  change  the  line 
number  for  the  REM  statement  by 
editing  line  200  after  your  REM 
line  is  created.  If  the  line  is 
too  big  to  edit,  POKE  16510,1  works 
after  you  delete  lines  10-130. 

Lines  20  and  30  are  fool-proofing; 

I  would  not  advise  deleting  them 
until  you  are  happy  with  your  REM 
statement . 

This  routine  simply  builds  up 
the  REM  line  one  byte  at  a  time, 
calling  the  ROM  routine  that  makes 
one  space  and  moves  all  the  point¬ 
ers  up  each  time.  It's  quicker  to 
make  all  the  spaces  at  once,  but  a 
bit  more  complicated  to  program. 
Using  this  method,  a  500-byte  REM 
line  takes  less  than  20  seconds. 

If  you  prefer  digits  1234..., 
change  line  100  to: 

100  POKE  D+I,I-10*INT  (l/10)+28 

Hex  code  in  line  10  reads: 

ID  IE  2A  82  40  CD  9B  09  C9 
The  keystrokes  in  line  10  after  10 
REM  are: 

numberl  number2  letterE  graphic- 
shiftw  tokenRND  tokenLN  inverse 
period  graphicshif tD  tokenTAN 
Don't  type  any  spaces. 


Frank  O'Hara,  Surbiton,  Surrey,  UK 


10  REM  12 
£0  PRINT 
GOTO  40” 

SO  STOP 
4©  INPUT  N 
5©  L.ET  D=PEEK 
6397-2 

6©  FOR  1=1  TO  N 


NDLN  UsssThN 
NTER  £00  REM;  THEN 


16396  +256  *PEEK  1 


70  POKE  16515, XNT  « (0+1) ^256) 
60  POKE  16514 , D  + 1 -256  *PEEK  165 
15 

90  RRND  U5R  16516 
100  POKE  D+X,27 
1 1®  WFVT  T 

12©  POKE  D— 1,INT  ( (N+2i ^256) 

130  POKE  D— 2  ,  N -1-2 -256  sPEEK  CD-I) 
SYNTACTIC  SUM:  17705,  SK 


8 


Explore  the  excellence  of  your  ZX81  with  a 


9PBK64H  memory  extension  for  $179.95 

Give  your  diminishing  memory  more  byte. 


MEMOPAK  64K  RAM  $179.95 

The  Sinclair  ZX81  has  revolutionized 
home  computing.  The  MEMOPAK  64K 
RAM  extends  the  memory  of  ZX81  by  a 
further  56K  to  a  full  64K.  It  is  neither 
switched  nor  paged  and  is  Directly 
Addressable.  The  unit  is  user  trans¬ 
parent  and  accepts  such  basic  com¬ 
mands  as  10  DIM  A  (9000).  It  plugs 
directly  into  the  back  of  ZX81  and  does 
not  inhibit  the  use  of  the  printer  or  other 
add-on  units.  There  is  no  need  for  an 
additional  power  supply  or  leads. 

Description  of  memory 

0-8 K  .  .  .  Sinclair  ROM 
8-16K  .  .  .  This  section  of  memory 
switches  in  or  out  in  4K  blocks  to  leave 
space  for  memory  mapping,  holds  its 
contents  during  cassette  loads,  allows 
communication  between  programs,  and 
can  be  used  to  run  assembly  language 
routines. 

16-32K  .  .  .  This  area  can  be  used  for 
basic  programs  and  assembly  language 
routines. 

32-64 K  .  .  .  32 K  of  RAM  memory  for 
basic  variables  and  large  arrays.  With 
the  MEMOPAK  64K  extension  the  ZX81 
is  transformed  into  a  powerful  com¬ 
puter,  suitable  for  business,  leisure  and 
educational  use,  at  a  fraction  of  the  cost 
of  comparable  systems. 

ncnoitCn 

Memory  Extention  Specialists 

Memotech  Corporation 
7550  West  Yale  Ave.,  Suite  200 
Denver,  Colorado  80227 

Ph.(303)  986-1516 


MEMOPAK  16K  RAM  $59.95 

With  the  addition  of  MEMOPAK  16K, 
your  ZX81  will  have  a  full  16K  of  Di¬ 
rectly  Addressable  RAM.  It  is  neither 
switched  nor  paged  and  enables  you  to 
execute  longer  and  more  sophisticated 
programs  and  to  hold  an  extended  data 
base. 

The  16K  and  64K  Memopaks  come  in 
attractive,  custom-designed  and  engi¬ 
neered  cases  which  fit  snugly  on  to  the 
back  of  the  ZX81  giving  a  firm  connec¬ 
tion. 

Free  service  on  your  MEMOPAK 

Within  the  first  six  months,  should  any¬ 
thing  go  wrong  with  your  MEMOPAK, 
return  it  to  us  and  we  will  repair  or 
replace  it  free  of  charge. 


Try  MEMOPAK  with  no  obligation 

You  can  use  our  MEMOPAK  in  your 
home  without  obligation.  After  10  days 
if  you  are  not  completely  satisfied, 
simply  return  it  for  a  full  refund. 

Coming  soon . 

A  complete  range  of  ZX81  plug-in 
peripherals: 

MEMOTECH  Hi-Res  Graphics 
MEMOTECH  Digitising  Tablets 
RS232  Interface 
Centronic  Interface  and 
Software  Drivers 

All  these  products  are  designed  to  fit 
“piggy-back”  fashion  on  to  each  other 
and  use  the  ZX81  power  supply. 

Further  information  forthcoming. 


Memotech  Corp.  7550  W.  Yale  Ave.  Suite  220  Denver,  Colo.  802271 

Yes!  I  would  like  to  try  the  Memopak.  I  understand  that  if  I’m  not  complete  satisfied, 

I  can  return  it  in  10  days  for  a  full  refund.  Price  +  Qty  Amount 


□  Check 

□  Visa 

□  MC 

Act .  No.  [ 

Name _ 

Street 


Memopak  64k  RAM 

$  179.95 

Memopak  16k  RAM 

$  59.95 

Shipping  and  Handling 

$  4.95 

$  4.95 

t  U.S.  Dollars 


ENTRAPMENT — 8K/16K 

This  game  pits  you  against 
your  8K  computer.  The  playing 
field  is  a  rectangle  with  two  diff¬ 
erent  starting  points.  The  compu¬ 
ter  controls  the  +  character  and 
you  control  the  inverse  *.  You  try 
to  maneuver  the  computer's  string 
of  plusses  into  a  box  the  leading 
plus  cannot  get  out  of.  The  compu¬ 
ter  will  not  hit  the  boundary, 
itself,  or  your  string  of  asterisks 
as  long  as  the  lead  plus  can  move 
in  a  direction  that  is  not  occu¬ 
pied.  You  win  when  the  computer  is 
unable  to  find  a  clear  direction. 
You  lose  if  your  string  is  trapped. 

To  control  your  string,  use 
these  four  keys: 

K  right 
J  left 
M  down 
I  up 

(See  Jun.82  p.10  for  info  on  adding 
a  joystick  to  your  ZX81. — AZ)  If 
you  do  not  push  a  key  for  movement, 
the  computer  will  continue  your 
string  to  the  right.  So  be  careful 
not  to  let  your  lead  asterisk 
double  back  on  itself.  Changing 
line  266  to  GOTO  530,  550  or  490 
moves  the  asterisk  in  another  dir¬ 
ection  if  nothing  is  pressed. 

Each  symbol  is  mapped  into 
memory  by  the  POKE  command  at  its 
corresponding  coordinates.  B  in 
line  60  is  a  random  memory  location 
for  storing  information. 

The  program  runs  again  automa¬ 
tically.  To  exit,  press  BREAK. 

Wayne  C.  DeJulia,  Ozone  Park,  NY 

5®  CLERR 
55  CLS 

6©  LET  E  =30300 
©9  FRST 

70  FOR  i_=a  TO  19 

71  FOR  H=2  TO  3® 

7a  POKE  B+L*4-0+M  .  CODE  t"  ’*) 

73  NEXT  M 
74.  NEXT  L 
S©  ROND 

11©  FOR  H  =  1  TO  31 
IS©  PRINT  RT  21,N;  ‘ jp” 

130  PRINT  RT  1  „N; 

14.0  POKE  B+21*4-0+N  .CODE  (  S 
15©  POKE  B+l*4-0+N  .CODE  t  ”  J*7*  j 
16®  NEXT  N 


170  FOR  N=1  TO  21 
IS®  PRINT  RT  N .  1 ;  "J*" 

190  PRINT  RT  N .  31;  "J*" 

200  POKE  B+N*4.S  +  l,CODE  { ”  Ji»  j 
210  POKE  B+N*4-3+31  ,,  CODE  <  ••  J»“  ) 
220  NEXT  N  ^ 

225  SLOW 

230  LET  R  =  INT  £  RNE>  *  16+3) 

2^0  LET  C  =  INT  iRND*2S+2i 
2|0  PRINT  RT  fi,C;  ,,4." 

P2^ErvB+f:i*',t®+CJ.COE>E  C»+»j 

LET  D-INT  (RNDH74.2) 
iS?  ‘E  =  IK1T  £RlMD*Q6+a) 

RR1NT  RT  D  ^  E  : 

255  POKE  B+D*ia+E,CODE  (»■■■! 

256  LET  M S = INKEYS  ® 

118  i!  ni-'-T-  TSPK  goto  bio 

111  ll  ™§H  §§T§  III 

111  ioTO*SiB  THEN  GOTO  *»• 

27©  LET  G=C  +  1 

"?aTHFWP^Tn  iB  +  0*4B+C) 

.-,2,.,TNEN  GOT O  2Q0 
273  PRINT  RT  fi  p  •»«.«» 

121  88?g  |si*2^.S0[>E 
1§1  tIT  g=g=| 

^STHENP|oTO  ^li©**®*0*  <>CODE 
310  PRINT  RT  RJ0j>*+** 

330  §8?g  gig  CODE 

111  tp  s=gti 

"f4‘THFKiPrnTn  <3+0*4.04-0 

II!  SgSg  !gg*40+C.CODE 
LET  ffs-a.i 
•*-83  LtT  R  =R  —  1 

(£0®^  <R*4-0)  +o 

410  pbint_rtIr.o®+** 

&  4*  £  fi  £4>0  j  +r*  rnnp  c  **  * « 
4-30  GOTO  SBS  (  1  +  ’ 

4 *t>0  OLS 

ill  PAUSE  ila10'10*  ,,YOU  win** 
4-65  GOTO  5© 

F9©  LET  E=E-1 

”?ST5£K.P^f^«  £B+D*4.0+E> 
-l^THEN  GOTO  70© 

imo  O  .  E:  !,E5" 

Srai  £®KE  B+D*4-©+E .  CODE 
5©3  GOTO  27© 

51©  LET  E=E+i 

PEEK  C  3+0*4.© +E)  < 

)  THfcN  GuTO  7©© 

POKE  B +0*4.0 +E.  CODE 

522  PRINT  RT  D .  Ea "B" 

523  GOTO  27© 

S3©  LET  0=0-1 

"l'0THENPloTO<lj0*iO<'E’  <>CODE 

IS!  PRXNTBRT*D^f.'B°DE  ‘"B"“ 

54.7  GOTO  27©  ‘  * 

55©  LET  0=0+1 

5S8  IF  PEEK  {  B  +0  *4.0  +E 1  <  >COOE 
)  THEN  GOTO  700 
565  POKE  B+O*4-0+E  .  CODE  i  "B"  J 
570  PRINT  RT  O „  Ea  "H"  ** 

5a75  GOTO  273 
70S  CLS 

705  PRINT  fif  10. 12a "YOU 
715  PRUSE  1©© 

720  GOTO  50 

SYNTRCTIC  SUM:  4-2089 ,  ©K 


<  s-CODE  C 


t“+") 


<“+") 


<  >COOE 
t"+") 


<  >COD£ 


e >CODE 


C "fS" ) 


>COOE 


t 


‘1 


LOSE1 


io 


BOOK  REVIEW 

Title:  Getting  Acquainted  with 

Your  ZX81  (3rd.  Ed.) 
Author:  Tim  Hartnell 

From:  Creative  Computing  Press 

Price:  $8.95  paperback 

This  British  book  is  a  good 
way  to  move  beyond  the  ZX81  manual 
if  you're  new  to  computers. 

Between  fascinating  graphic  display 
programs  (Star  Map,  Micro  Mouse) 
and  challenging  games  (Space  Boy, 
Alien  Imploders)  is  a  reasonable 
amount  of  explanatory  text. 

Hartnell  is,  from  time  to 
time,  very  good  at  setting  problems 
for  his  readers  to  work  out.  This 
is  essential  in  any  teaching  text, 
and  it  is  good  to  find  it  here. 

Significant  discussion  is 
given  to  saving  memory  by  refining 
programs  (with  some  examples),  RND, 
SCROLL,  program-writing  sugges¬ 
tions,  using  arrays  and  a  fair 
amount  more.  Finally,  after  some 
work  programming  and  numbering  a 
checker  board  for  efficient  use  in 
programs  is  a  version  of  checkers. 

The  last  ten  pages  may  be  as 
much  help  as  all  the  rest.  Hart¬ 
nell  discusses  how  to  change  pro¬ 
grams  from  4K  to  8K  ROM,  gives  a 
set  of  specifications,  a  table  to 
convert  system  variables  from  old 
to  new  ROM,  and  a  listing  of  the 
character  set,  ending  with  direc¬ 
tions  for  replacing  a  4K  ROM  with 
an  8K  one. 

There  are  minor  problems  with 
the  book  beyond  the  British  names. 
It  is  occasionally  hard  to  read 
programs  correctly;  at  least  once  I 
read  0  for  zero  and  F  for  E.  Using 
report  codes  and  some  detective 
work,  you  can  figure  these  out. 

Although  I  haven't  run  all  of 
the  more  than  80  programs,  exten¬ 
sive  sampling  and  reading  all  the 
text  showed  this  to  be  a  very  help¬ 
ful  book  for  anyone  just  getting 
into  the  ZX81. 

Ronald  H.  Miller,  Murrysville,  PA 


SOFTSY1XC,  IXC.  #*.*/*. 

ZX81— TSIOOO— 

BACKGAMMON - S/ 


BACKGAMMON  is  a  3,000  year  old  game  of 
chance  and  skill  between  two  people  --  or  in  this 
case  between  a  person  and  a  computer.  This  high 
quality  ZX81  Backgammon  program  uses  fast  and 
efficient  machine  code  to  choose  its  moves  and 
includes  a  detailed  playing  board  and  rolling  dice. 

A  comparatively  modern  addition  to  the  game, 
which  is  included  in  this  program,  is  the  doubling 
cube  giving  the  game  an  extra  dimension  and 
enchancing  the  opportunity  of  using  skill  rather 
than  just  luck  to  defeat  your  opponent. 

Side  “B”  of  the  cassette  contains  a  bonus 
program  --  full  screen  rolling  dice  which  can  be 
used  to  play  any  dice  game.  The  program  uses  the 
random  number  generator  so  the  rolling  is 
guaranteed  to  be  completely  random.  Handy  when 
playing  with  opponents  you  suspect  of  "loading” 


the  dice. 


16K  $14.95 


PLUS  MANY  MORE  PROGRAMSI 

kWRITE  FOR  FREE  CATALOG 

-AND  FREE  LISTING  , 

copies  of  BACKGMN 


Please  send  me  _ 

@  $14.95  each. 

Please  add  $1.50  shipping  &  handling 
New  York  residents  add  sales  tax. 

I  enclose  _ _ _ . 

SEND  CHECK  OR  MONEY  ORDER  TO 

SOFTSYNC,  INC. 

TO  Box  480,  Murray  Hill  Staton,  New  York,  N  Y  10156  (212)  685-2080 

I  Foreign  orders  must  be  paid  by  International  Money  Order  or 
foreign  draft  m  U.S.  Dollars  drawn  on  a  New  York  bank 

NAME  _ 


STATE/ZIP. 


11 


DEAR  EDITOR: 


Since  adding  a  Sinclair  16K 
RAM  expansion,  a  horizontal  bar 
travels  constantly  up  my  screen. 

The  IK  computer  doesn't  do  this. 

I  have  tried  three  different 
TV  sets  with  the  same  results. 

What  can  I  can  do  to  eliminate 
this  horizontal  bar?  Keeping  both 
the  TV  contrast  &  brightness  con¬ 
trol  at  a  minimum  diminishes  this 
effect  but  doesn't  eliminate  it. 

I  suspect  that  the  computer 
and  the  16K  pack  overload  the  power 
supply  but  I  cannot  be  sure.  I 
have  the  650  MA  power  supply. 

Luis  A.  Roman,  Ponce,  PR 

That's  right — your  power  supply  has 
excessive  ripple.  Sam  Porter  sug¬ 
gests  you  increase  C3  in  the  compu¬ 
ter  from  22uF  to  220uF  (Apr. 82 
p.18),  but  see  the  following  letter 
and  answer  for  alternatives. — KO 


Sam  Porter's  fix  for  charger 
ripple  (April  82)  treats  the  symp¬ 
tom,  not  the  disease.  Horizontal 
"hum"  bars  on  the  screen  do  result 
from  a  weak  charger,  but  the  power 
supply  is  weak  because  a  component 
has  failed.  The  most  likely  cul¬ 
prit  is  one  of  the  two  diodes 
soldered  to  the  transformer  wind¬ 
ings  inside  the  plastic  case.  If 
one  diode  opened,  supply  capacity 
drops  by  1/2  and  more  hum  results. 
Adding  capacitance  reduces  the  hum 
to  a  workable  level,  but  replacing 
the  diode  is  a  better  fix. 

To  get  inside  the  sealed  plas¬ 
tic  case,  use  a  sharp  knife  to  cut 
the  plastic  welds  along  the  crack 
between  the  case  top  and  bottom. 

The  power  supply  already  has  a 
1000  uf,  16V  cap  in  it. 

William  Bosley,  Valparaiso,  FL 

Chargers  can  also  develop  excess 
ripple  if  the  transformer  is  badly 
wound.  Voltages  would  be  within 
specs,  but  ripple  would  be  high. 


especially  after  warmup.  You  can¬ 
not  easily  repair  bad  windings,  so 
get  a  new  unit.  ZX80/1  owners 
should  write  to  Sinclair  Research, 

1  Sinclair  Plaza,  Nashua,  NH  03061. 
Use  this  address  for  all  parts, 
manuals,  and  ROM  upgrades. — KO 


If  you  added  a  big  keyboard 
and  need  to  label  8K  functions  on 
the  keys,  here's  a  suggestion  from 
Chuck  Ludinisky  of  Chelmsford,  MA. 
Find  a  Sinclair  ad  in  the  computer 
magazines;  color  in  Kilobaud  or 
Byte,  b/w  in  SYNTAX.  Cut  out  the 
keyboard  picture  and  glue  the 
labels  to  your  keytops  with  house¬ 
hold  (airplane)  glue.  Cover  with 
tape  or  clear  nail  polish.  The 
labels  are  small,  but  readable. 

Cliff  Danielson,  Chelmsford,  MA 


Sometimes  pressing  on  the  top 
of  my  ZX81  case  in  certain  areas 
causes  a  crash.  Static  from  my 
hand  isn't  causing  it.  Do  you  know 
what  might  be  causing  the  problem 
and  what  the  solution  is? 

Hugh  B.  Amber,  Mississauga,  Ont. 

Check  the  insulation  between 
ground  strap  &  circuit  board — 
sometimes  the  tape  punctures. 
Cracked  traces  &  solder  joints  give 
similar  symptoms. — KO 


In  Apr. 82,  Don  Shank,  Palo 
Alto,  CA,  wrote  about  problems  with 
his  ZX81's  power  jack  connection. 

I  had  the  same  problem  with  my 
power  connection.  (Sinclair  should 
fix  this!)  I  wouldn't  put  up  with 
this  problem  nor  would  I  put  my 
computer  on  the  shelf.  Replacing 
the  existing  power  plug  with  an  RCA 
type  plug  would  solve  this  problem, 
so  I  got  the  necessary  parts  from  a 
local  electronics  store  and  in¬ 
stalled  them.  Problem  solved. 

I  am  by  no  means  an  electronic 
repairman  but  this  plug  can  be 
installed  with  a  little  imagination 
and  care.  You  need  only  a  screw- 


12 


driver,  a  relatively  inexpensive 
soldering  iron  and  about  2"  of  16 
to  18  gauge  wire. 

I  hope  Mr.  Shank  reads  this 
letter  and  takes  his  ZX81  back  off 
the  shelf.  He's  missing  a  lot  of 
pleasure  and  an  enjoyable  teaching 
aid  for  himself  and  his  family. 

David  L.  Isabel,  Farmington,  MO 


I  am  just  starting  on  the  ZX81 
and  am  looking  for  info: 

1)  Where  to  get  parts  to  build 
add-on  RAM 

2)  Switch  to  color 

3)  Printer  interface 

4)  List  of  owners  in  my  area 
(especially  amateur  radio  operators 
&  electronics  builders,  computer 
technicians) 

James  R.  Copeland,  Crozet,  VA 

Check  electronics  surplus  houses 
for  inexpensive  parts  for  hardware 
projects.  They  often  advertise  in 
the  back  of  computer  magazines  like 
Bvte.  We  have  bought  from  BNF  in 
Peabody,  MA,  and  John  J.  Meshna  in 
Lynn,  MA. 

Several  people  are  working  on 
color  boards  for  ZX81s.  Watch 
SYNTAX  for  details. 

Printer  interfaces  with  ASCII 
conversion  are  available  from  Byte- 
Back,  Rt.  3,  Box  147,  Brodie  Rd., 
Leesville,  SC  29070?  Data-assette, 
52  S.  3rd  St.,  Oxford,  PA  19363; 
and  Memotech  Corp.,  7550  W.  Yale 
Ave.,  Suite  200,  Denver,  CO  80227. 

To  reach  amateur  radio  users, 
contact  Marty  Irons,  K2MI,  46  Magic 
Circle  Dr.,  Goshen,  NY.  He  runs  a 
free  newsletter  only  for  amateur 
radio  people  with  ZX81s.  To  find 
local  ZX  users  groups,  see  p.3. — AZ 


My  problem  is  that  prepared 
tapes  LOAD  satisfactorily;  however 
tapes  SAVED  from  the  computer  do 
not  LOAD.  The  audio  signal  from 
the  tape  is  much  weaker  than  the 
prepared  tapes  (obviously  what  is 
going  out  isn't  strong  enough). 


The  output  from  IC1  pin  16 
exits  via  R29  (1M)  and  C12  (47pfd) 
to  MIC  jack  with  R27  (IK)  and  Cll 
(47nfd)  to  0  volt  bus. 

Is  there  any  obvious  reason 
why  I  cannot  SAVE  programs?  Should 
I  disconnect  R30? 

A.R.  Newhouse,  Potomac,  MD 

Do  not  disconnect  R30;  it  creates 
the  US  TV  scan  and  plays  no  role  in 
SAVE  and  LOAD.  Try  a  borrowed  tape 
recorder,  and  use  a  short  (C-30  or 
smaller)  tape.  Next,  check  the 
component  values  or  substitute 
others,  and  inspect  the  solder 
joints  and  printed  circuit  traces. 
Measure  the  output  from  the  MIC 
jack  on  your  computer — you  should 
get  1-5  millivolts. 

If  you  find  no  problem,  we 
recommend  you  exchange  the  unit  or 
send  it  for  repair. — KO 


I  think  I  understand  "phantom 
memory"  (addresses  above  37767), 
but  I  don't  understand  why  some  8K 
ROM  code  references  locations  in 
the  phantom  memory.  For  example, 
there  is  a  CALL  PO, 58085  (hex  E2E5) 
at  171  (hex  00AC)  and  a  JP  PO, 57310 
(hex  DFDE)  at  180  (hex  00B4).  Or 
is  my  disassembly  all  wet?  Simi¬ 
larly,  more  appear  to  be  many  ref¬ 
erences  to  locations  between  8192 
and  16383  (hex  2000  to  3FFF) .  I 
can  accept  this  more  readily  but 
still  have  some  trouble  with  it. 

Why  don't  I  have  17K  of  RAM 
with  my  16K  RAM  add-on? 

James  H.  Canfield,  Dayton,  OH 

Addresses  00AC  and  00B4  contain 
text  or  tabulated  values,  not  com¬ 
mands.  Locations  007E  to  01FB 
contain  the  key  tables.  Unless  you 
like  doing  your  own  disassembly, 
you  can  use  Ian  Logan's,  available 
direct  from  Ian  in  England  or  from 
several  North  American  suppliers. 

Adding  16K  external  memory 
disables  the  internal  IK  that  comes 
with  the  ZX80/81. — KO 


13 


PROGRAM  IMPROVEMENTS 

Grandson  of  Big  Characters  (Jul.82) 
Here  is  a  shorter  version  of  Grand¬ 
son  of  Big  Characters  which  allows 
27  4x-size  characters  on  a  IK  mach¬ 
ine.  Input  them  one  at  a  time. 

Paul  Ezra,  San  Diego,  CA 

2  LET  <3*4-3 
4-  INPUT 

6  FOR  B*1  TO  LEN  R$ 

3  FOR  C=®  TO  7 

2®  LET  D=PEEK  (7660+CODE  R$ <B> 

25  FOR  F=©  TO  7 
3®  LET  E=2**  < 7  — F .> 

35  IF  D>*E  THEN  PLOT  8*<B-1}*F 

» G"~C 

4-0  IF  D>=E  THEN  LET  D=D-E 

4-5  NEXT  F 

5®  NEXT  C- 

55  NEXT  B 

6©  LET  G=G-8 

65  GOTO  4- 

5YNTRCTIC  SUM:  14-634- ,  SK 

BASIC  Line  Renumbering  (Jun.82) 

This  modification  provides  more 
flexibility  and  often  negates  the 
need  to  change  GOSUBs  and  GOTOs. 
Because  it  lets  you  specify  the 
last  program  line  to  renumber,  you 
can  retain  subroutine  starting  ad¬ 
dresses  . 

Use  this  program  the  same  way 
as  the  original:  type  it  in,  SAVE 
it,  then  reload  before  typing  in  a 
new  program.  Call  the  renumber 
program  by  entering  GOTO  9980  in 
the  immediate  mode.  To  exit  early, 
enter  DELETE  then  STOP. 

You  can  learn  a  lot  about  how 
the  computer  handles  programs  by 
manipulating  program  lines  or  giv¬ 
ing  several  lines  the  same  number 
(increment  by  0).  Try  this: 

50  SLOW 

40  PRINT  AT  21,11; "GOODBYE" 

30  FOR  X=1  TO  22 
20  SCROLL 
10  NEXT  X 

It  runs  fine  if  entered  using  nor¬ 
mal  (low  to  high)  line  numbers  and 
renumbered  with  increment  -10. 
(Editing  or  adding  new  lines  can  be 
a  little  tricky,  though). 

William  Bosley,  Valparaiso,  FL 


64K  MEMORY 
M-64  $119.9£t 


129.95  WIRED  &  TESTED 
IN  STOCK.  SAME  DAY  SHIPMENT 
All  standard  features  included,  plus  lower  8K 
of  RAM  can  be  disabled  in  2K  segments  to  I 

allow  PROM  or  peripherals  to  be  added. 


EXPAND  YOUR  16K  SYSTEM 


$59,951 

If  you  have  a  Sinclair  16K  RAM  module  and  need 

I  more  memory,  expand  it  to  32K  and  beyond  by  using 
BYTE-BACK  M-16  MEMORY  MODULES. 

You  can’t  connect  two  Sinclair  16K  RAM  modules  together, 

I  but  you  can  connect  one  Sinclair  16  K  and  one  or  more  BYTE- 
BACK  16K  modules  to  get  all  the  memory  you  need. 

THOUSANDS  IN  USE  WITH  PROVEN  RELIABILITY 

M-16  $59  -95  Kit.  $69.95  wired  and  tested. 

IN  STOCK.  SAME  DAY  SHIPMENT 

BB-1  Control  Module,  with  8  relays,  8  leds 
&  8  inputs.  $59  Kit.  $69  wire  and  tested. 
IN  STOCK!  SAME  DAY  SHIPMENT 

[modem  with  RS232  Port.  $99.9K1t  $Tte9s5teWd'.re 

90-Day  Warranty  On  All  Modules. 
10-Day  Return  Priviledge 
ORDER  PHONE  803-532-5812 

Add  $4.95  shipping  &  handling  to  ail  orders. 

BYTE-BACK  CO.  CHECKS 

Rt.  3  Box  147  Brodie  Rd. 

LEESVILLE,  SOUTH  CAROLINA  29070  ■ 


89 


S970  STOP 
9971  LET  R =16509 
3973  INPUT  S 
■39373  PRINT  S 

3374.  LET  L=2S8*PEEK  R+PEEK  <R  +  1> 

3375  IF  L  sS  THEN  RETURN 

3S7S  IF  L> =937©  THEN  GOTO  9373 

9977  LEi  R  =R  4-4-  -h  PEEK  (fl-4-21  +256*PE 
EK  (R+3) 

9978  GOTO  3374- 

9979  PRINT  S; "NOT  FOUND" 

5222«£RSNT  "crst  line  to  be  renu 

HBEREDs  ; 

9981  GOSUB  9971 
3982  LET  RE *0+3 

"1ST  LINE  TO  BE  renuk 

9964-  GOSUB  9971 

9985  PRINT  "1ST  NEW  LINE  NUMBER* 

9986  INPUT  N 

9987  PRINT  N , " INCREMENT  LINES  BY 

9988  INPUT  I 

9989  PRINT  I 

9990  IF  R  >  RE  THEN  GOTO  9997 

9991  IF  N  >  9959  THEN  GOTO  9999 

9992  POKE  R , INT  (N/&5B) 

9993  POKE  CR  +  l)  ..  N -256  if  INT  CN/S5& 

9994-  LET  R=R+4-+PEEK  tR+2)  +256*FE 
EK  £R+3) 

3995  LET  N*N+I 

3996  GOTO  999© 

HU  gRJNT  *  *  "RENUMBER  COMPLETE" 
#  /"CRNT  COMPLETE.  LIN 
SYNTACTIC ’ SUM:  39756,  SK 


i 


14 


BOOK  REVIEW 


Powers  of  Negative  Numbers 
The  formula  for  powers  of  negative 
numbers  that  William  Tracy  attri¬ 
butes  to  Sinclair  (Jun.82  p.12) 
contains  three  mistakes.  Line  10 
of  the  program  following  corrects 
these.  The  program  also  shows  some 
powers  of  -2.  I  have  checked  the 
formula  for  positive  numbers  and 
zero  also.  Zero  to  a  negative 
power  overflows,  as  it  should. 

Frank  O'Hara,  Surbiton,  Surrey,  UK 

2  LET  A=-2 
5  FOR  B=-5  TO  16 
10  PRINT  ABS  A**B* (1-(B-2*INT 
(B/2) ) * (1-SGN  A) ) , 

20  NEXT  B 

PRINTING  ON  THE  BOTTOM  LINE — 8K 

According  to  Sinclair's  pro¬ 
gramming  manual,  you  cannot  PRINT 
on  the  bottom  two  screen  lines. 

This  is  not  quite  true.  Here  are 
two  different  ways  to  PRINT  where 
you  aren't  supposed  to. 

1.  One  way: 

10  LET  L=USR  2591 
20  PRINT  "THE  BOTTOM  LINE" 

30  PAUSE  1000 

USR  2591  is  a  routine  in  the  8K  ROM 
that  clears  the  bottom  part  of  the 
screen  and  is  then  effectively 
PRINT  AT  23,0;.  This  method  is 
crash-proof,  but  AT  and  TAB  still 
won't  work  at  the  bottom. 

2.  Another  way: 

10  POKE  16418,0 

20  PRINT  AT  2 3, 7; "THE  BOTTOM  L 
INE" 

30  FOR  N=0  TO  23 
40  PRINT  AT  N,0;N 
50  NEXT  N 
60  POKE  16418,12 
70  PAUSE  1000 

You  can  now  PRINT  to  the  entire 
screen,  even  using  AT  and  TAB.  Be 
careful — if  you  INPUT  while  address 
16418  (DF  SZ)  is  less  than  2,  the 
computer  crashes.  PLOT  still 
starts  two  lines  above  the  bottom. 

Jason  Harper,  Sylvester,  TX 

1 


Title: 

The  Expandable  ZX80  and 

ZX81 

By: 

John  F.  Jarrett 

From: 

Computer  Engineering 
Services,  The  Jarrett 
Company,  PO  Box  1222,  Show 
Low,  AZ  85901,  602/537-7522 

Price: 

$9.95  +  1.25  shipping 

If  you  are  unsure  about  which 
is  the  business  end  of  a  soldering 
iron,  then  pass  this  book  by.  But 
for  the  dyed-in-the-wool  hobbyist, 
it  is  a  must. 

Mr.  Jarrett  offers  seven  docu¬ 
mented  projects  and  several  ideas 
for  additional  projects.  The  proj¬ 
ects  include  two  memory  expansions, 
two  different  sound  generators,  a  5 
amp  power  supply,  a  lamp/motor 
controller,  and  a  Digitalker  (tm) 
so  your  computer  can  talk  to  you! 
All  projects  come  fairly  well  docu¬ 
mented,  with  parts  listings, 
photos,  and  schematics.  The  author 
suggests  you  wirewrap  most  of  the 
projects.  I  agree,  unless  you  have 
some  skill  at  designing  and  making 
your  own  printed  circuit  cards. 

There  are  some  things  I  don't 
enjoy  about  this  book.  Mr.  Jarrett 
ignored  both  his  large  keyboard  and 
his  enclosure  for  his  expanded 
ZX80.  I  feel  these  are  important, 
as  there  is  no  sense  to  making  the 
projects  if  you  don't  have  a  place 
to  put  them!  Also,  while  Mr. 
Jarrett  did  include  a  parts  list 
for  every  project,  he  did  not  al¬ 
ways  provide  stock  numbers*  Per¬ 
haps  he  didn't  wish  to  favor  any 
one  company. 

On  the  whole,  I  liked  the  book 
and  its  projects.  I  feel  the  8x11" 
softcover  is  well  worth  the  $9.95 
price  tag.  I  will  most  likely 
construct  all  the  projects,  as  cash 
flow  allows.  Again,  this  book  is  a 
must  for  builders  who  wish  to  make 
the  most  of  their  Sinclair  ZX80  or 
ZX81  computer. 

Patrick  M.  Spera,  Tinker  AFB,  OK 


HARDWARE  REVIEW 

Product:  Memotech  64K  Memopak 

From:  Memotech  Corp.,  7550  W. 

Yale  Ave.,  Suite  200, 
Denver,  CO  80227, 
303/986-1516. 

Price:  $179.95  +  $4.95  shipping 

My  64K  Memopak  arrived  within 
three  weeks  of  mailing  my  check  to 
Memotech.  The  module  plugs  direct¬ 
ly  into  the  Sinclair  port  straight 
out  of  the  box,  with  a  duplicate 
port  exposed  on  the  back  for  con¬ 
necting  the  printer.  It  is  com¬ 
pletely  self-contained  and  requires 
no  external  power  supply.  Since 
the  case  is  as  wide  as  the  compu¬ 
ter,  Memotech  provides  double-sided 
foam  tape  to  secure  the  unsupported 
end  to  the  Sinclair.  With  the 
tape,  the  Memopak  is  much  less 
susceptible  to  jarring  and  glitches 
than  the  Sinclair  module. 

The  instructions  are  easy  to 
understand  and  include  an  explana¬ 
tion  of  the  4  tiny  switches  acces¬ 
sible  through  the  back  panel.  They 
switch  in  or  out  4K-blocks  of  mem¬ 
ory  between  0000  and  16383  and  come 
preset  to  disable  the  first  8K  of 
memory  (corresponding  to  the  8K 
ROM).  Thus  you  really  have  56K  of 
usable  RAM.  Even  though  the  first 
8K  is  not  available,  it  is  imple¬ 
mented  in  hardware  "for  future 
developments."  You  can  only  use 
the  second  8K  for  machine  language 
programs,  and  it  is  safe  from  NEW. 
The  next  16K  works  just  like  Sin¬ 
clair's  module.  To  tell  the  system 
that  there  is  yet  another  32K  above 
this  area,  you  must  POKE  RAMTOP  to 
65535.  Although  BASIC  listings 
cannot  extend  into  the  top  32K, 
they  can  now  occupy  almost  the 
entire  16K  area  below  because  all 
program  data  and  the  stacks  are 
relocated.  Refer  to  the  ZX81  man¬ 
ual,  p.128;  everything  above  the 
line  marked  VARS  is  moved  to  the 
top  32K  so  the  BASIC  listing  can  be 
up  to  about  15K  long. 

Operation  of  the  Memopak  is 


quite  satisfactory.  Subjectively, 

I  got  5%  more  TV  interference  than 
with  the  16K  module.  This  looks 
like  faint  moire  patterns,  but 
never  so  severe  as  to  be  obtrusive. 
The  screen  clears  quickly  when 
things  warm  up,  and  plugging  in  the 
cassette  recorder  seems  to  help! 
There  is  no  overheating  or  evidence 
of  unreliability.  SAVE  and  LOAD 
work  normally,  and  tapes  made  with 
the  16K  also  LOAD  fine.  Should  you 
want  to  expand  a  data  array  on  a 
16K  tape,  you  must  re-enter  your 
old  data  manually. 

The  unit  comes  with  a  6-month 
guarantee,  not  90  days. 

ZX80  users  can  connect  the 
Memopak  to  their  machines,  but  the 
computer  must  be  modified:  change 
one  connection  and  add  a  resistor. 

The  Memopak  is  undoubtedly  the 
ultimate  memory  expansion  for  the 
Sinclair.  Try  DIM  A(9500)! 

Gene  Alvarez,  Oviedo,  FL 

Daren  Lyons,  Swartz  Creek,  MI,  also 
wrote  about  his  64K  Memopak.  He 
agreed  with  Gene,  except  that  his 
ZX81  power  pack  tends  to  overheat 
with  the  Memopak  attached.  He 
added,  "The  reaction  time  is 
slowed.  When  the  pack  is  attached, 
things  get  real  slow.  Commands 
used  outside  of  programs,  and  some 
used  inside,  get  slow  enough  to 
watch  the  screen  clear  line  by 
line,  and  RUN,  LIST,  etc.,  take 
forever  to  make  any  action  known  to 
the  user." 

Our  Memopack  works  well  and 
fits  snugly  on  the  ZX81.  The  docu¬ 
mentation  is  good,  answering  first¬ 
time  users'  questions.  It  also 
gives  demonstration  programs.  But 
the  part  explaining  the  function  of 
the  rear  switches  is  unclear. 
Restated,  this  64K  RAM  always  gives 
you  memory  from  16K  to  64K.  For 
normal  operation,  SW1  is  always 
off.  SW2  turns  8-12K  block  on  or 
off.  SW3  turns  12-16K  on  or  off. 

If  all  others  are  off.,  you  must 
turn  SW4  on. — AZ 


16 


TEACH  KIDS  TO  COUNT  WITH  THE  ZX81 

Some  education  theorists  sug¬ 
gest  that  learning  to  count  and 
read  is  enhanced  if  you  create  a 
large,  sharp  image  in  a  child's 
mind.  This  image  should  be  easily 
recognized  and  repeated  often. 

Rapidly  moving  TV  pictures  get 
credit  (and  blame)  for  generating 
very  powerful  attention-grabbing 
images  that  anyone  watching  learns 
quickly.  With  your  ZX81  and  some 
intelligent  program  design,  your  TV 
can  provide  sharp  graphic  images  of 
concepts  you  want  to  teach. 

I  wrote  this  program,  COUNT, 
to  help  my  three-year-old  son  learn 
to  equate  a  group  of  objects  with  a 
number.  The  game  draws  a  random 
number  of  objects  on  the  screen  and 
asks,  "How  many?"  If  he  answers 
correctly,  the  computer  tells  him 
he's  right  and  draws  another  set. 

If  he's  wrong,  the  computer  asks 
for  another  answer. 

Since  my  son  can  barely  count 
much  less  read,  written  text  is 
kept  to  a  minimum.  To  keep  things 
interesting,  the  program  generates 
several  shapes  that  occur  randomly. 

COUNT  fits  in  a  IK  machine, 
with  a  little  extra  room  if  you 
want  a  fancier  win  display.  Once 
you  enter  the  listing  and  save  it, 
just  tell  your  child  to  push  R  for 
RUN.  The  game  repeats  until  you 
pull  the  plug. 

Tom  Woods,  Jefferson,  NH 


To  enter  COUNT,  use  this  guide. 
All  keys  are  in  graphics  mode 
(press  shift  9  first). — AZ 


line  100 

shift 

Y 

shift 

T 

105 

shift 

T 

shift 

Y 

200 

shift 

8 

shift 

G 

shift 

5 

205 

shift 

8 

shift 

F 

shift 

5 

300 

shift 

R 

shift 

E 

305 

shift 

Q 

shift 

W 

400 

shift 

W 

shift 

W 

shift 

5 

405 

shift 

E 

shift 

E 

shift 

5 

500 

shift 

W 

shift 

T 

505 

shift 

E 

shift 

Y 

NEW  !  ZX81  16K  ROM  HEW  I 

BLACK JACK*MflSTER  by  R. A. Foley 
U  P  t  o  7  P  1.  a  y  e  r  s  w  i  t  h  "  c  3.  s  i  n  o ' ' 
o  P  t  i  o  n  s  1  i  k  e  D  o  u.  b  1  e  D  o  w  n ,  S  P  1  i  t 
P  3.  i  r  s  >  8  u.  p  r  e  ri  cj  e  r  S 1 1  0  u  t ..  3.  n  d 
mope!  Do’rr't  settle  Pop  less. 

FOOTBALL  FORECASTER  by  G. Smith 
Get  this  one  QUICK  as  the  data 
base  is  Fop  the  82-83  season,, 

S  P  e  c  i  P  y  C  0 L  L  E  G  E  o  p  P  R  0  v  e  p  s  i  o  ti  ,. 
M  o  ri  e  y  0  p  d  e  p  9  e  t  s  p  u.  s  h  d  e  l  i  v  e  r  y  ., 


RE 

VER 

SI 

by  F 

eter 

UIp 

i  eh 

•l! 

P  1  .3. 

y  er 

s,  1 

a  9. a 

i  net 

the  t 

1 .«  OR 

ma 

k  o 

i  t 

!••'  i.  ay 

i  ts 

o  1.  +' .. 

Fast 

MC 

mo 

V  O  if::- 

4- 

Op  t  i 

on  a  1 

RATED  Us 

t  o  f 

P  o 

ssi 

b  I  e 

IViO'm 

OS  „ 

11  A#  1 

11  vers 

ion ! 

*  i 

9  -  9 

5  e 

a + 

o  k;pi 

for 

the  opdep. 

Ea 

ch 

SET 

fi  Pr 

o9ra 

m  i  s 

sh  i  P  P 

ed  on 

3. 

cer 

tip 

i  ed 

cass 

otto 

tap  e 

with 

i  ri 

for 

mat 

i  ve 

book 

let. 

Cata  1 

o9 

so 

rit 

i,.l  x  t 

h  or 

•dor 

or  wr i to : 

£:::  if 

e:  t 

“  Fl 

S  i 

O  f::r " 

rwi 

::::i  F2  E 

PO 

80;: 

GREEt 

•iVILI 

..E,  SC 

£9606 

The  words  in  reverse  in  lines  45 
and  55  are  WRONG  and  RIGHT  with 
asterisks . 

1  LET  fi  =  INT  (RNDJ103 +1 
5  GOTO  3.00*  £  INT  (RND*Si  +1) 

7  FOR  X=©  TO  R-l 
10  PRINT  RT  9,X*3+l; ft* 

IS  PRINT  RT  IS ,X»34l ; BS 
a©  NEXT  X  '  ‘ 

as  PRINT  RT  0,0; "HOU  HRNY?” 

3©  INPUT  D$ 

35  IF  CODE  D$>37  OR  CODE  D*<2S 
THEN  GOTO  4-5  * 

4.0  IF  URL  D$=R  THEN  GOTO  55 
4.5  PRINT  D=£;  - 

50  GOTO  3©  " 

J|5  PRINT  RT  £©,6;  "i 

100 


60  PROSE 
65  CLS 
70  GOTO  1 
10©  LET  R$  =  "V 
1©S  LET  = 

110  GOTO  7 
20©  LET  R$= 

205  LET  B£= 

2 10  GOTO  7 
30©  LET  R$=" 

305  LET  B$=" 

31©  GOTO  7 
400  LET 
4-05  LET  B£s 
4-1©  GOTO  7 
50©  LET  «£  =  '• 

60S  LET  B$  =  ** 

51©  GOTO  7 
SYNTACTIC  SUH 


354-37 ,  SK 


17 


STRING  FUNCTION  TRANSLATION  FOR  8K 

While  using  my  8K  ROM  and 
manual  I  took  up  the  exercise  on 
strings  that  asks  you  to  work  out 
the  equivalents  of  LEFT$,  RIGHT$, 
MID$  and  TL$.  The  result  is  this 
demonstration  program. 


Arthur  J.  Bumpus,  Jr.,  Brockton,  MA 

This  demo  is  set  up  for  strings  of 
more  than  7  characters,  using  7  as 
the  variable  each  time.  Try  sub¬ 
stituting  other  numbers.  LEFT$, 
RIGHT$,  MID$  and  TL$  are  functions 
common  to  other  microcomputers. 
These  conversions  will  help  you 
translate  from  other  BASICS. — AZ 


10  REM  "STRING  FUNCTIONS" 

20  REM  ZX ee.'SK  ROM 
•3w  Rfc.H  hhT  BUMPUS 
50  REM  LEFTS 
60  GQ5UB  5@0 
7©  LET  N=7 

60  REM  PRINTS  UP  TO  7TH  CHRR . 
90  LET  TO  N) 

100  PRINT  BS;  . . LEFTS  ,N>  " " " 

11©  REM  RIGHTS 

is©  ggsub  see 
130  LET  N=? 

14.0  REM  PRINTS  FROM  7TH  TO  END 
15©  LET  BS=RS(N  TO  ) 

160  PRINT  BS;  """RIGHTS  ,N) 

170  REM  MIDS  CRS  , Nl, N2> 

180  GOSUB  50© 

190  LET  Nl=7 
200  LET  N2=l 
210  LET  N3=NI+N2 

220  REM  PRINTS  1  CHRR.  FROM  THE 
7TH 

23©  LET  BS=RS  «:N1  TO  N3> 

^24-0  PRINT  """MIDS  ifi$.,Ni,N2>  '* 

250  REM  TLStRS'J 
260  GOSUB  S©@ 

27©  LET  BS=RSC£  TO  ) 

2S0  REM  THIS  DROPS  THE  1ST  CHRR 

29©  PRINT  BS;  **  "l,TLS  4PS>  ""  " 

300  PRINT  "PROGRRM  COMPLETED" 

310  STOP 

500  INPUT  FIS 

510  PRINT  RS;"=“: 

520  RETURN 

SYNTRCTIC  SUM:  334-4-3,  8K 


DIAGONAL  LINES 


You  can  make  45  degree  angles 
with  two  nested  FOR-NEXT  loops: 

1.  Diagonal  line  from  lower  left 
to  upper  right: 

10  FOR  A=X  TO  X  where  X  is  lower 
left  point 


20  FOR  B=X  TO  N  where  N  is  upper 
right  point 
30  PLOT  A,B 
40  NEXT  A 
50  NEXT  B 

2.  Diagonal  line  from  upper  left 
to  lower  right: 

10  FOR  A=X  TO  X  where  X  is  upper 
left  point 

20  FOR  B=N  TO  X  STEP  -1  where  N 
is  lower  right  point 
30  PLOT  A,B 
40  NEXT  A 
50  NEXT  B 

Here  is  the  listing  for  "M".  Lines 
10-30  and  140-160  plot  the  vertical 
uprights . 

10  FOR  A=10  TO  30 
20  PLOT  0 ,A 
30  NEXT  A 
40  FOR  B=1  TO  1 
50  FOR  C=30  TO  24  STEP  -1 
60  PLOT  B,C 
70  NEXT  B 
80  NEXT  C 
90  FOR  D=7  TO  7 
100  FOR  E=24  TO  30 
110  PLOT  D,E 
120  NEXT  D 
130  NEXT  E 
140  FOR  F=10  TO  30 
150  PLOT  14, F 
160  NEXT  F 

Charles  Myler,  San  Antonio,  TX 

SHIFTING  MAZE— 8K/1K 

This  program  prints  a  maze  on 
a  IK  ZX81.  Run  in  SLOW  for  best 
effect . 

10  FOR  R=0  TO  19 
20  FOR  C=0  TO  19 
30  PRINT  CHR$ ( INT  (RND+*5)*2+ 

3)  ; 

40  NEXT  C 
50  PRINT 
60  NEXT  R 

For  a  shifting  maze,  add: 

5  PRINT  AT  0,0; 

70  GOTO  5 

To  exit,  press  BREAK. 

John  Burns,  Biocal  Software, 

Fairfax,  CA 


18 


MACHINE  CODE  PROGRAMMING — 
UNDERSTANDING  THE  STACK 

Often  when  writing  machine 
code  (MC)  programs,  it's  useful  to 
keep  the  MC  above  RAMTOP.  But  few 
people  understand  how  to  move 
RAMTOP  and  the  Z80's  stack  pointer 
from  within  MC.  The  following  de¬ 
tails  let  you  protect  your  MC  pro¬ 
grams  from  being  overwritten  by 
using  the  stack. 

In  the  ZX80/1  with  8K  ROM,  the 
system  variable  RAMTOP  holds  the 
address  of  the  first  location  above 
usable  memory,  whether  the  top  of 
available  RAM  or  as  specified  by 
the  programmer. 

The  next  two  bytes,  going  down 
from  RAMTOP,  are  always  3Eh  and 
OOh.  This  pair  of  bytes  marks  the 
top  of  the  GOSUB  stack  and  consti¬ 
tutes  an  invalid  line  number. 

Using  a  RETURN  command  that  fetches 
line  3E00  (15872  in  decimal)  leads 
to  a  "7"  error. 

Below  the  top  marker  of  the 
GOSUB  stack  are  the  return  line 
numbers  of  any  GOSUB  loops  that  are 
active.  However,  most  times  a 
machine  code  programmer  isn't  deal¬ 
ing  with  BASIC  subroutines;  hence 
the  GOSUB  stack  will  consist  of  the 
top  marker  alone. 

Next  comes  the  point  which,  in 
my  manual  (p.171)  is  explained 
wrongly — the  system  variable  ERR- 
SP,  the  error  stack  pointer,  points 
not  to  the  GOSUB  stack  but  to  the 
two  bytes  below  it.  These  two 
bytes  always  hold  the  BASIC  LINE- 
RUN  return  address,  0676h.  The 
interpreter  always  returns  to  this 
address  after  executing  subroutines 
involved  in  the  interpretation  of  a 
single  line. 

The  normal  machine  code  stack 
is  below  the  LINE-RUN  return 
address . 

An  important  point  to  note  is 
that  if  an  error  dccurs  during  part 
of  the  interpretation  of  a  BASIC 
line,  all  the  MC  stack's  details 
are  discarded  as  a  return  is  made 
to  the  address  held  in  ERR-SP,  ie.. 


0676h . 

Creating  a  new  stack  under 
programmer's  control  involves  cor¬ 
rectly  placing  four  bytes — 3Eh, 

OOh,  06h  and  76h — and  giving  appro¬ 
priate  values  to  the  stack  pointer 
and  ERR-SP.  The  following  routine 
shows  one  way  to  do  this: 

Mnemonic  Comment 

LD  HL,+....  ;your  choice  for  RAMTOP 
LD  (RAMTOP)  ,HL  ;  enter  it 
DEC  HL  ;point  to  1st  location 

LD  (HL)  ,+3E  ;the  impossible  line  # 
DEC  HL  ;point  to  2nd  location 

LD  (HL),+00  ;the  line  #'s  low  byte 
DEC  HL  ;point  to  3rd  location 

LD  (HL),+06  ;return  address-high 
DEC  HL  ;point  to  4th  location 

LD  (HL),+75  ;low  byte  of  address 

INC  (HL)  ;so  as  to  avoid  "76" 

LD  (ERR-SP)  ,HL;  this  is  to  be  ERR-SP 
LD  SP,HL  ;and  the  machine  code 
stack  pointer 

continue .... 

This  routine  lets  you  run  a 
MC  program  above  RAMTOP  that  will 
not  be  overwritten  by  use  of  the 
stack.  You  can  make  a  perfectly 
valid  RETurn  to  BASIC  if  needed. 

Note:  As  I  mentioned,  when¬ 
ever  an  error  occurs  during  the 
interpretation  of  a  BASIC  line,  the 
machine  code  stack  is  cleared.  But 
the  GOSUB  stack  is  left  untouched. 
Hence  "active"  GOSUB  return  ad¬ 
dresses  remain  on  the  stack,  using 
up  RAM  at  2  bytes  for  each  address. 

It  remains  to  be  seen  if  this 
"bug"  occurs  in  the  monitor  program 
of  the  ZX  Spectrum. 

Ian  Logan,  Skellingthorpe,  UK 

For  further  details,  see  Dr. 

Logan's  books,  Understanding  Your 
ZX81  ROM  and  Sinclair  ZX81  ROM 
Disassembly.  Part  A  and  Part  B 
(with  Dr.  Frank  O'Hara).  All  three 
are  available  direct  from  Ian 
Logan,  24  Nurses  Lane  Skelling¬ 
thorpe,  Lincoln  LN6  5 'XT,  UK,  or 
from  any  North  American  distributor 
for  Melbourne  House  Publishing. — AZ 


19 


SYNTACTIC  SUM  LOADER 

New  Readers:  Syntactic  Sum  is  a 
machine  code  routine  devised  by 
SYNTAX  to  help  you  assure  correct 
program  entry.  If  two  people  type 
a  program  exactly  the  same,  they 
get  the  same  Syntactic  Sum.  If  one 
makes  an  error,  the  Sums  differ. 

The  Sum  we  get  when  we  test  each 
program  appears  after  the  last  line 
of  the  published  version,  along 
with  the  ROM  designation.  The 
following  loader  program  greatly 
simplifies  using  Syntactic  Sum  for 
8K  ROM  programs. — AZ 

This  program  provides  a  Syn¬ 
tactic  Sum  machine  language  routine 
in  just  one  step  instead  of  the 
original  multi-step  process.  Just 
LOAD  and  RUN  it,  and  the  Syntactic 
Sum  program  is  resident.  It  also 
prints  the  starting  address  of  the 
subroutine  for  the  USR  call. 

The  first  part.  Listing  1, 
consists  of  a  REM  statement  holding 
all  the  machine  code  needed  to  move 
the  Z80  microprocessor  stack  and 
change  all  appropriate  system  vari¬ 
ables.  This  has  the  same  effect  as 
POKEing  a  new  value  into  the  system 
variable  RAMTOP,  then  executing  a 
NEW.  The  second  part  POKES  a  Syn¬ 
tactic  Sum  subroutine  into  the 
newly  created  space  at  the  top  of 
memory. 

To  enter  this  program,  follow 
these  steps: 

1.  Enter  the  program  in  Listing  4. 

2.  RUN  it. 

3.  INPUT  the  values  in  Table  1. 
Read  them  across  and  press  ENTER  or 
NEWLINE  after  each.  After  the  last 
one,  the  REM  statement  in  line  1 
should  have  changed  to  look  like 
line  1  in  Listing  1  following. 

4.  Enter  lines  10-90  of  Listing  1, 
replacing  lines  10-40  of  listing  4. 

To  use  this  program,  type 
RUN.  ALWAYS  RUM  THIS  PROGRAM  IM 
TR£  FAST  MODE.  If- you  SAVE  it  in 
FAST,  you'll  just  have  to  LOAD  and 
RUN  it. 

When  you  run  this  program,  it 


returns  the  number  of  bytes  saved 
above  RAMTOP  and  the  starting  ad¬ 
dress  of  the  subroutine  (INPUT  USR 
nnnnn).  You  can  access  the  routine 
anytime  by  entering  PRINT  USR  nnnnn 
where  nnnnn  is  the  address  dis¬ 
played.  The  computer  does  not  have 
to  be  in  FAST  mode  to  use  Listing 
1.  To  clear  the  Syntactic  Sum 
loader  program  from  memory  before 
typing  or  loading  a  program,  hit 
NEW  and  ENTER  or  NEWLINE. 

This  program  automatically 
calculates  locations,  so  you  can 
use  it  with  any  size  memory  with  no 
changes . 

You  can  also  use  it  to  load 
other  subroutines:  Put  the  code 
(in  hex)  in  line  10.  The  first  two 
characters  of  A$  are  lost  in  con¬ 
version,  so  start  your  code  with 
the  third  character.  Change  line 
50  to  TO  N+(#  of  bytes  -  1). 

Change  line  20  to  POKE  16507, (num¬ 
ber  of  bytes).  WARNING — you  must 
POKE  a  number  greater  than  19  or 
the  computer  crashes.  You  can  also 
use  this  program  to  load  more  than 
one  subroutine  at  a  time.  Each 
time  the  program  is  run,  the  sub¬ 
routine  will  be  put  at  the  top  of 
available  memory. 

This  program,  together  with 
other  self-loading  utilities,  is 
available  on  cassette  for  $4.00. 

Roderick  McConnell,  28  Orchard  St., 

Glen  Head,  NY  11545 

Listing  1 

1  REH  HE. RND  GD5UB  7??*r  GOSU 
5  ??RND  GCSUB  ?  FOR  ;  SCSUB  f§  GO 
SUB  77RNDE, RND  GOSUB  PIS»  RNDE *RN 
D  GOSUB  PX6  *RND  GOSUB  *?T  GOSUB  P 
X  RRND  TRN 

10  LET  R$  =  ,‘XXRF4.TS76FE52R0C4.01 
17D4-02B4-EE3S3E3ESED52E120F5C1CG” 

20  POKE  1650?  ,  24- 

30  PRINT  USR  IBS  14- ;  ’’  BYTES  SRU 
ED’* 

4.0  LET  N=PEEK  163S8+2S6SPEEK  1 
6389 

S©  FOR  X=N  TO  N+23 

60  LET  t 3  TO  > 

70  POKE  X, 16* (CODE  +CODE 

R$  *2)  -28 

6©  NEXT  X 

9©  PRINT  "  INPUT  USR  **  *,  N 
SYNTACTIC  SUM:  1SS3S .  8K 


20 


LISTING  4 

1  REM  12345678901234567890123 
456789012345678901234567 
10  FOR  X=16514  TO  16560 
20  INPUT  N 
30  POKE  X,N 
40  NEXT  X 


TABLE  1 — read  across 


175 

42 

4 

64 

237 

114 

68 

77 

3 

57 

237 

91 

123 

64 

237 

82 

235 

25 

237 

184 

237 

75 

123 

64 

42 

4 

64 

237 

66 

34 

4 

64 

42 

2 

64 

237 

66 

34 

2 

64 

237 

98 

57 

237 

66 

249 

201 

DICE 

ROLL- 

•4K/1K 

This 

program  turns 

your  4K 

ZX80 

into 

a  totally 

fair 

dice  rol- 

ler. 

It's 

a  lot  quieter 

than  stan 

dard 

dice 

and 

saves 

disagreements 

about  what  was  actually  rolled. 

Enter  Dice,  then  RUN  (graphics 
&  spaces  are  described  in  PRINT 
lines).  Hit  NL  for  each  roll.  To 
exit,  enter  any  character. 

Lines  40  and  50  roll  the  dice. 
Subroutine  700  arranges  the  "dots" 
on  the  face  of  each  die.  Subrou¬ 
tine  800  prints  the  die  on  the 
screen.  Who  says  a  IK  ZX80  can't 
help  you  play  Monopoly! 

Robert  Masters,  Tewksbury,  MA 

5  LET  A$="7space  shiftQ  7space" 
10  LET  B$=CHR$ (130 ) 

15  LET  X$="7space  shiftQ" 

30  RANDOMISE 
40  LET  X=RND(6) 

50  LET  Y  =RND ( 6 ) 

60  LET  Z=X 
70  GO  SUB  700 
80  GO  SUB  800 
90  PRINT 
100  LET  Z=Y 
110  GO  SUB  700 
120  GO  SUB  800 
130  INPUT  Q$ 

135  CLS 

140  IF  Q$=" "  THEN  GO  TO  40 
150  STOP 


700  LET  C$="shiftA  3space  shiftA" 

701  LET  D$=C$ 

702  LET  E$=C$ 

705  IF  Z=1  THEN  LET  C$="5space" 

706  IF  Z=1  THEN  LET  E$=C$ 

710  IF  Z=1  OR  Z=3  OR  Z=5  THEN  L 
ET  D$="2space  shiftA  2space" 

720  IF  Z=2  OR  Z=3  THEN  GO  SUB  7 
50 

730  IF  Z=2  OR  Z=4  THEN  LET  D$=" 
5space" 

740  RETURN 

750  LET  C$="shiftA  4space" 

760  LET  E$=" 4space  shiftA" 

770  RETURN 

800  LET  Z$="shif tW" 

805  GO  SUB  900 
810  PRINT  A$;B$ 

820  PRINT  X$;C$; "space" ;B$ 

830  PRINT  A$;B$ 

840  PRINT  X$;D$; "space" ;B$ 

850  PRINT  A$;B$ 

860  PRINT  X$;E$; "space" ;B$ 

870  PRINT  A$;B$ 

875  LET  Z$=CHR$ (131) 

880  GO  SUB  900 

890  RETURN 

900  PRINT  "7space"; 

910  FOR  1=1  TO  10 
920  PRINT  Z$; 

930  NEXT  I 
940  PRINT 
950  RETURN 

SYNTACTIC  SUM:  -22490,  4K 

CARDIOID  PLOT— 8K/1K 

Cardioid  plots  a  heart-shaped 
curve  with  IK  RAM — an  attempt  to 
describe  the  speed-apparent  wind 
diagram  for  a  given  sail  at  con¬ 
stant  wind  speed.  The  results  can 
help  predict  optimum  sailing  condi¬ 
tions  . 

Frederic  D.  Bogar,  Key  West,  FL 

18  FOR  T=PX  TO  ©  STEP  -.Q5»PZ 
50  LET  R  =  f  1+C-OS  T)  *COS  T 
60  LET  B=  C iS*SOR  (  (1+COS  T)**2 
-BBS  R**2) ) 

79  LET  X=32+B 
©0  LET  V  =30  — 15  S-R 
9©  PLOT  X,Y 
1©0  LET  X=32-B 
110  PLOT  X,Y 
12©  NEXT  T 
130  STOP 

SYNTRCTIC  SUM:  1234-0,  ©K 


21 


CLASSIFIED  ADS 


*********************************** 


Use  SYNTAX  classifieds  to  sell, 
swap  or  locate  ZX  products.  Rates: 
$9  per  line.  Send  your  ad,  typed 
35  char. /line,  with  check  to  arrive 
by  the  15th  of  any  month  for  next 
month's  issue.  Ads  arriving  after 
the  15th  will  appear  in  the  issue 
following  the  next  month.  Repeat 
ads  must  be  resubmitted  each  month. 
No  phone  or  credit  card  orders.  We 
take  no  responsibility  for  classi¬ 
fied  advertisers  and  have  not  seen 
all  products  advertised.  SYNTAX, 

RD  2  Box  457,  Harvard,  MA  01451. 

SYNTAX  SUPER  DEAL:  All  back  issues, 
sub.  to  Apr83  +  binder,  $63,  call 
or  write  SYNTAX. 

Make  It  Talk  -  Give  It  a  Good  Home 
Send  SASE  for  brochure  of  ZX  80/81 
products  to  KESA  Digital,  P.O.  Box 
912  Redmond,  OR  97756 

ROOMS:1000's  of  3D  Mazes;9  levels;4 
options;send  SASE  to  DEMCo.,  211 
Nature  Trail, Chapel  Hill,N.C.  27514 

*********************************** 

*  Find  out  what's  available  for  * 
*your  computer.  The  new  SINCLAIR  * 
* COMPUTER  FAMILY  SOURCEBOOK  lists  * 
*100's  of  programs , books , &  acces-  * 
*sories  from  over  70  manufacturers* 
*Only  $4 . 95+$l . 25  P&H.  VA  res.  add* 
*$.20. Send  check  or  MO  to  Atlantic* 

Computer, POB  936  Norfolk,  VA  23501* 
*********************************** 

ZX81  2K  UPGRADE  KIT  for  1  or  2  chip 
board!  All  parts,  detailed  manual. 
$2  for  your  old  chips!  $15-J  Balogh 
Box  1319,  State  College,  PA  16801 

ZX81  ASSEMBLER  &  ZX81  DISASSEMBLER 
on  cassette  $15.  or  for  info,  send 
SASE.  Bob  Berch  19  Jaques  St. 
Rochester  NY  14620 

2  16K  games  on  cass.: Space  attack  & 
Bomber-$6.  5  IK  games  on  cass. $4. 50 
Free  cat. MILL  RESEARCH  2307  Adanac 
St .Abbotsford, B.C. CAN. V2S4T1  FUN! ! ! 


Software  &  Accessories  for  the  ZX81 
Best  Prices  Anywhere  1  Write  for 
FREE  Catalog:  Great  Lakes  Software 

201  Burlington , Valparaiso  IN  46383 
*********************************** 

BUFFERED  BUSS/DEVELOPMENT  BOARD  for 
ZX80/81 :  $40=BARE  BOARD,  $70=KIT. 
UHF  modulator  $15.  Connectors  $6. 
ZX81  REPAIRS  $25.  Send  for  complete 
details. COMPUTER  CONTINUUM  301-16AV 
San  Francisco, CA. 94118. (415)5243730 

********************************** 

! ! !  SUPER  SINCLAIR  SOFTWARE  ! ! ! 

At  last,  there  is  a  company  which 
specializes  in  programs  &  games  for 
TIMEX/SINCLAIR  computers  w/  16K  RAM 
Ask  for  free  catalog  from  SMARTWARE 

PO  Box  1491,  Melbourne,  FL  32935 
*********************************** 

*********************************** 

A  challenging  and  highly  addictive 
new  video  game — LETTER  RAIDERS,  de¬ 
veloped  by  NON-TRIVIAL  SOLUTIONS. 
The  strategy  is  to  capture  each 
letter  of  the  alphabet  on  a  24  x  32 
grid  without  recrossing  your  path. 
Also  available — LIFE,  a  simulation 
of  biological  systems,  with  high 
speed  48  x  64  graphics  palette. 

Both  well-documented  games  are 
written  in  machine  language  for  the 
ZX81  with  16K.  Order  by  mail  or 
phone  at  $9.95  each  from  N-TS,  P.O. 
Box  2941,  Amarillo,  TX  79105,  806/ 
376-5723.  Check,  Visa,  MC  welcome. 
Watch  for  exciting  new  developments 
coming  soon  from  NON-TRIVIAL 
SOLUTIONS! 

************************  *  (*  ******** 

**ZX81  with  16K  RAM  FOR  SALE** 

Used  very  little. Comes  with  2  16K 
and  one  IK  cassettes/$130/Call 
Laddin  after  7PM  CDT, 205-974-1501 . 

********************************** 

FREE  SOFTWARE 

"Z-WEST"  is  offering  free  software 
in  our  ZX-81  users  newsletter. 

P.O.  Box  2411  Vista,  Calif.  92083 
********************************** 


22 


ARTIST  is  a  8K/16K  program  that, 
with  more  than  25  commands,  helps 
create  drawings/paintings  on  screen 
Features  include:  user's  choice  of 
brushes  and  backgrounds,  free  mix 
of  graphics  and  alphanumerics ,  easy 
specification  of  lines  and  circles, 
ability  to  store  and  recreate  com¬ 
plex  patterns  by  defining  new 
commands,  and  to  save  the  artwork 
on  tape  or  print  it.  $10.  KSOFT , 

845  Wellner,  Naperville,  Ill  60540 

OUR  POLICY  ON  CONTRIBUTED  MATERIAL 

SYNTAX  invites  you  to  express  opinions  related  to  any  Sinclair  computer  or 
peripheral,  or  the  newsletter.  We  will  print,  as  space  allows,  letters  discussing  items 
of  general  interest.  Of  course,  we  reserve  the  right  to  edit  letters  to  a  suitable  length 
and  to  refuse  publication  of  any  material. 

We  welcome  program  listings  for  all  levels  of  expertise  and  written  in  either 
Sinclair  BASIC  or  Z80  machine  code.  Programs  can  be  for  any  fun  or  useful 
purpose.  We  will  test  run  each  one  before  publishing  it,  but  we  will  not  debug 
programs;  please  send  only  workable  listings.  Programs  submitted  on  cassette  can  be 
tested  more  quickly  and  with  less  chance  of  error. 

In  return  for  your  listing,  we  will  pay  you  a  token  fee  of  $2.00  per  program  we 
use.  This  payment  gives  us  the  nonexclusive  right  to  use  that  program  in  any  form, 
world-wide.  This  means  you  can  still  use  it,  sell  it,  or  give  it  away,  and  so  can  we. 

We  will  consider  submissions  of  news  and  hardware  or  software  reviews.  Please 
keep  articles  short  (350-400  words).  Again,  we  reserve  the  right  to  edit  accepted 
articles  to  a  suitable  length.  We  will  pay  7  cents  per  6  characters,  including  spaces 
and  punctuation,  for  accepted  articles. 

When  you  send  in  programs  for  possible  publication  in  SYNTAX,  please 
include  the  following  information: 

•  How  to  operate  the  program,  including  what  to  input  if  it  does  not  contain 
prompts. 

•  Whether  you  can  run  the  program  over  again  and  how. 

•  How  to  exit  the  program. 

•  The  Syntactic  Sum  (program  published  in  Feb.  81  and  Jun.  81;  send  SASE 
for  a  free  copy). 

•  What  RAM  size  program  requires. 

•  What  ROM  program  uses. 

We  pay  for  this  explanatory  text  at  the  same  rate  as  for  articles  in  addition  to 
payment  for  the  program  itself. 

If  you  want  us  to  return  your  original  program  listing  or  article,  please  include 
a  self-addressed,  stamped  envelope.  Otherwise,  we  cannot  return  submitted  material. 


*KNOW  YOUR  BIO-RHYTHMS*DISPLAY  12mo 
CALENDAR*DI SPLAY  lmo  CALENDAR .. ZX 81 
all  three  on  cassette  only  $7.95 
FREE  BIO-RHYTHM  FORMS  with  cassette 
send  for  FREE  software  catalog  and 
FREE  Hex/Binary/Octal/Dec  LISTING 
*UAS  Box  612  Haddonfield  N.J.  08033 

LOW  LOW  LOW  LOW  LOW  LOW  LOW  LOW  LOW 


PRICES! 

Biorhythms  8K  ROM/lK&up . 1.00 

Graphics  Billboard  8/lup . 1.00 

Horse  Race  8/lup . 1.00 

SPINNER  TM (like  Rubik 's) 8/16. . .2.00 

Improved  SLOW  PAUSE . 1.00 

Linear  Regression  8/lup . 2.00 

CHAR.  Generator  Demos  8/lup. . . . 2 . 95 

SPLIT-A-STACK  TM  SLOW/lup . 2.00 

CHEWTER  TM (like  PACMN) SLOW/lup. 2.95 

ISLAND  SQUARES  TM  SLOW/2up . 2.00 

Random  MUSIC! SLOW/lup . 2.00 


BASIC  Keyword  Demos  8/1.... from  .50 
ORDER, SASE, reSASE  gets  you  GOO¬ 
DIES  Catalog  and  ! ! FREE ! !  Program 
EZRA  GROUP  II 
EZRA  GROUP  II 

POB  5222  San  Diego , California  92105 

***  SAVE  YOUR  SUBROUTINES  *** 

*  ADD  MEMORY  THAT  WON'T  FORGET!  * 

*  Complete  kit:  $31:90  incl.s&h  * 
Full  details  w/stamp:  HUNTER  1630 

*  Forest  Hills,  Okemos  MI  48864  * 


SYNTAX  is  published 

monthly  by  a  wholly-owned 
subsidiary  of  The  Harvard  Group. 

Syntax  ZX80,  Inc. 

RD  2,  Box  457,  Harvard,  MA  01451. 

Telephone  617/456-3661. 

12  issues,  $29.  Single  issue,  $4. 

Publisher:  Kirtland  H.  Olson 
Editor:  Ann  L.  Zevnik 


©  Syntax  ZX80,  Inc.,  1981.  All 
rights  reserved.  Photocopying 
prohibited.  ISSN  0273-2696 


YES!  Please  send  me  12  issues  of  SYNTAX  for  $29. 

□  My  check  for  $29  is  enclosed.  □  Please  charge  my  □  MasterCard 
Make  checks  payable  to:  □  Diner’s  Club  □  American  Express 

SYNTAX  ZX80,  INC.  □  VISA  □  Carte  Blanche  account 

account  number  _ _ 

exp.  date _ bank  number  (MC  only) _ r _ 

signature _ L - 

Name_ _ Title - 


Organization 

Address _ 

City _ 

Day  Phone  ( 


State _ JZip _ 

Evening  Phone  (  _ ) _ 

8  82' 


I  own  a  □  Sinclair  ZX80  □  Sinclair  ZX81  Telephone  orders  call 


617-456-3661 


23 


SYNTAX 


**********THE  FUNWARE  CO.********** 
1 . LAND  THE  SPACE  SHUTTLE  2. LAND/AIR 
BATTLE  3. SPACE  BATTLE  4 .HUNTMAN*all 
ZX-81/16KRAM  on  quality  C-20  tapes. 
Each  game  $4.95  or  all  four  $16.95. 
7119  Santa  Fe  Av.  Dallas,  Tx.  75223 

ADVENTURE -DRY  GULCH  16K  Written  in 
BASIC, listable ,saveable  in  progress 
Search  for  treasure  in  a  wild  west 
ghost  town  $10  (NY  add  tax)  UPSTATE 
LABS  27  Elvira  Rochester,  NY  14606 

Voyagur  Adventure  8k/16kcass$15. 00 
stap  pilot  arcade-list  8k/lk  $3.00 
Voyage  in  time  and  space.  1st  of  a 
Series, save  character  for  coming 
Scenarios.  Midieval  Fantasy , Battle 
dwarves  etc.  Chris  White  789  s. gre¬ 
en  Bay  Rd.  Lake  forest  II  60045 

IF  OVERHEATING  IS  YOUR  PROBLEM  OUR 
improved  heatsink  is  your  answer. 
Send  SASE  for  info  to:  B.  Sanzone 
289  Baxter  Lane  Milford,  CT.  06460 

7  GAMES  on  CASSETTE — IK  $10-16K  $15 
Mastermind , Doublemind , Slot  Machine , 
Craps, Tic  Tac  Toe, Sub  Rescue, White 
Hot  Number.  NEW  ENGLAND  SOFTWARE, 
P.O.  Box  691,  Hyannis,  MA  02601 

ZX81  16K  STATISTICAL  PAC;Tape  $8. 
For  info  send  SA’SE  to;KIMTECH  1608 
2 3RD  AVE  NE ,MPLS ,MN  55418 


BUILD  A  KEYBOARD  CASE  in  3Hrs 
Plans  $3.95  Flashners  7616  Parakeet 
Ave,  Las  Vegas,  Nv  89128 

-  CHIRPER  SOUND  FOR  ZX81  - 

Enter  data  fast  and  accurately  with 
the  CHIRPER  module.  Generates  sound 
on  keyentry.  Also  hear  pgms.  run. 
Sound  effects  pgm.  included.  Easy  3 
wire  hookup.  Fits  inside  ZX81.  Send 
$9.95  Ck.  or  MO  to:  Audiograph  Co. 
3584  Leroy,  Ann  Arbor,  MI  48103.  In 
USA  postpaid.  Elsewhere  include 
postage  for  3  oz.  first  class. 

BUILD  YOUR  OWN  HARDWARE  FOR  YOUR 
ZX.  Add  memory,  speech,  control 
appliances  and  more.  A  complete 
book-only  9.95  +  1.25  P&H  To:  The 
Expandable  ZX  PO  BOX  1222  Show  Low 
Arizona  85901.  Az.  res  add  6%  tax 

"UNIVERSAL  INVENTORY  FILE"  You 
create  the  file  headings.  Menu  and 
prompts.  Two  ways  to  search,  add 
delete, check&more!  8K  ROM,  16K  RAM. 
Tape+manual  $16.95.  M.C. Hoffman 

P.O.  Box  117,  Oakland,  N.J.  07436 

Don't  write  machine  code  without 
HOT  Z,  the  m.c.  editor  that  puts 
you  in  control.  Cassette,  50-page 
doc.  $19.95.  Specify  memory  size. 
Write  for  details  of  our  new  ZX81 
Sinware,  Box  323,  Dixon,  NM  87527 


H\R\ARD 

GROLP 


First  Class 


Bolton  Road,  Harvard,  Mass.  01451 


U.S.  Postage 
PAID 

Harvard,  MA 
Permit  No.  8 
01451 


ft 

% 


<) 

& 


o  -o  rf4-  Jp  ; 

1/1  m  V^l  ^  -  "9 


in3* 


03 


C~D 

oo 


if  I 

n 


.  CTD 


************  *